Re: [patch 5/7 -mm] oom: replace sysctls with quick mode

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

 



On Mon, 15 Feb 2010, KOSAKI Motohiro wrote:

> > Two VM sysctls, oom dump_tasks and oom_kill_allocating_task, were
> > implemented for very large systems to avoid excessively long tasklist
> > scans.  The former suppresses helpful diagnostic messages that are
> > emitted for each thread group leader that are candidates for oom kill
> > including their pid, uid, vm size, rss, oom_adj value, and name; this
> > information is very helpful to users in understanding why a particular
> > task was chosen for kill over others.  The latter simply kills current,
> > the task triggering the oom condition, instead of iterating through the
> > tasklist looking for the worst offender.
> > 
> > Both of these sysctls are combined into one for use on the aforementioned
> > large systems: oom_kill_quick.  This disables the now-default
> > oom_dump_tasks and kills current whenever the oom killer is called.
> > 
> > The oom killer rewrite is the perfect opportunity to combine both sysctls
> > into one instead of carrying around the others for years to come for
> > nothing else than legacy purposes.
> 
> "_quick" is always bad sysctl name.

Why?  It does exactly what it says: it kills current without doing an 
expensive tasklist scan and suppresses the possibly long tasklist dump.  
That's the oom killer's "quick mode."

> instead, turnning oom_dump_tasks on
> by default is better.
> 

It's now on by default and can be disabled by enabling oom_kill_quick.

> plus, this patch makes unnecessary compatibility issue.
> 

It's the perfect opportunity when totally rewriting the oom killer to 
combine two sysctls with the exact same users into one.  Users will notice 
that the tasklist is always dumped now (we're defaulting oom_dump_tasks 
to be enabled), so there is no reason why we can't remove oom_dump_tasks, 
we're just giving them a new way to disable it.  oom_kill_allocating_task 
no longer always means what it once did: with the mempolicy-constrained 
oom rewrite, we now iterate the tasklist for such cases to kill a task.  
So users need to reassess whether this should be set if all tasks on the 
system are constrained by mempolicies, a typical configuration for 
extremely large systems.  

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