Re: FYI: mmap_sem OOM patch

From: KOSAKI Motohiro
Date: Thu Jul 08 2010 - 05:24:31 EST


> 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.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/