Re: [patch 1/5] oom: cleanup android low memory killer

From: Arve Hjønnevåg
Date: Mon May 04 2009 - 19:37:15 EST


On Mon, May 4, 2009 at 4:16 PM, Greg KH <greg@xxxxxxxxx> wrote:
> On Mon, May 04, 2009 at 04:12:57PM -0700, David Rientjes wrote:
>> On Mon, 4 May 2009, Greg KH wrote:
>>
>> > > This patch in the series is really more of a convenience than anything
>> > > else since it doesn't change anything functionally.  I had to modify the
>> > > lowmemorykiller later because there's a potential for a NULL pointer from
>> > > dereferencing p->mm without holding task_lock(p) and also because I moved
>> > > oomkilladj from struct task_struct to struct mm_struct.
>> >
>> > Is this still the case on top of Arve's changes?
>> >
>>
>> Yeah, the first of two patches Arve just sent is broken:
>
> Ok, care to work with Arve to come up with a series that both of you
> agree will work properly?

Yes, that patch only addresses the issues brought up last time this
driver was discussed.

>
>> > Right now, people are still arguing that the android low memory driver
>> > is not needed, but something is, yet no one has proposed a viable
>> > solution for all parties :(
>> >
>>
>> There was an interest in a low mem userspace notifier that applications
>> can poll() on at configurable low mem levels to react accordingly.  This
>> would probably address the problem that the Android team is trying to fix.
>
> Yes, I think it would.
>

Possibly, but waking up a user space code when running out of memory
may need even more memory to be freed.

>> Regardless, my patchset includes two fixes for current bugs in the oom
>> killer: a possible NULL pointer when /proc/sys/vm/oom_dump_tasks is
>> enabled and a possible livelock when killing a task that shares memory
>> with an OOM_DISABLE task.  I'm not really interested in seeing who can get
>> their patches into the staging tree first, I'm more concerned about fixing
>> the oom killer.
>
> Agreed, working with Arve on this would be most appreciated.

I have no problem with the patch that adds task_lock and I can add the
same change myself if you prefer, but the code cleanup patch will
cause unnecessary conflicts for us.

--
Arve Hjønnevåg
--
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/