Messages in this thread | | | Subject | Re: FYI: mmap_sem OOM patch | From | Peter Zijlstra <> | Date | Thu, 08 Jul 2010 11:35:17 +0200 |
| |
On Thu, 2010-07-08 at 18:24 +0900, KOSAKI Motohiro wrote: > > 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?
Just the whole concept of the unfair thing offends me ;-) I didn't really look at the particular application in this case.
| |