Re: FYI: mmap_sem OOM patch

KOSAKI Motohiro
2010-07-08T09:24:27Z

> On Wed, 2010-07-07 at 16:11 -0700, Michel Lespinasse wrote:
>
> > diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
> > index f627779..4b3a1c7 100644
> > --- a/arch/x86/mm/fault.c
> > +++ b/arch/x86/mm/fault.c
> > @@ -1062,7 +1062,10 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
> > bad_area_nosemaphore(regs, error_code, address);
> > return;
> > }
> > - down_read(&mm->mmap_sem);
> > + if (test_thread_flag(TIF_MEMDIE))
> > + down_read_unfair(&mm->mmap_sem);
> > + else
> > + down_read(&mm->mmap_sem);
> > } else {
> > /*
> > * The above down_read_trylock() might have succeeded in
>
> I still think adding that _unfair interface is asking for trouble.

Can you please explain trouble that you worry? Why do we need to keep
thread fairness when OOM case?

btw, I also dislike unfair + /proc combination.