Re: [patch -mm v2 04/10] oom: remove special handling for pagefault ooms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2 Mar 2010 16:38:16 -0800 (PST)
David Rientjes <rientjes@xxxxxxxxxx> wrote:

> On Wed, 3 Mar 2010, KAMEZAWA Hiroyuki wrote:
> 
> > > This patch causes a regression???  You never said that in any of your 
> > > reviews and I have no idea what you're talking about, this patch simply 
> > > cleans up the code and closes a race where VM_FAULT_OOM could needlessly 
> > > kill tasks in parallel oom conditions.
> > > 
> > try_set_system_oom() is not called in memory_cgroup_out_of_memory() path.
> > Then, oom kill twice.
> > 
> 
> So how does this cause a regression AT ALL?  Calling try_set_system_oom() 
> in pagefault_out_of_memory() protects against concurrent out_of_memory() 
> from the page allocator before a task is actually killed.  So this patch 
> closes that race entirely.  So it most certainly does not introduce a 
> regression.
> 
> You said earlier that mem_cgroup_out_of_memory() need not serialize 
> against parallel oom killings because in that scenario we must kill 
> something anyway, memory freeing from other ooms won't help if a memcg is 
> over its limit.  So, yeah, we may kill two tasks if both the system and a 
> memcg are oom in parallel and neither have actually killed a task yet, but 
> that's much more jusitiable since we shouldn't rely on a memcg oom to free 
> memory for the entire system.
> 
> So, again, there's absolutely no regression introduced by this patch.
> 
I'm sorry if I miss somthing.

memory_cgroup_out_of_memory() kills a task. and return VM_FAULT_OOM then,
page_fault_out_of_memory() kills another task.
and cause panic if panic_on_oom=1.

Then, if we remove mem_cgroup_oom_called(), we have to take care that
memcg doesn't cause VM_FAULT_OOM.

Thanks,
-Kame



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]