lkml.org 
[lkml]   [2004]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [oom]: [0/4] fix OOM deadlock running OAST
William Lee Irwin III <wli@holomorphy.com> wrote:
>> While running OAST to test 2.6's maximum client capacity, the kernel
>> deadlocked instead of properly OOM'ing. The obvious cause was the
>> line if (nr_swap_pages > 0) in out_of_memory(), which fails to account
>> for pinned allocations. This can't simply be removed.

On Wed, Jun 23, 2004 at 03:16:59PM -0700, Andrew Morton wrote:
> It all seems like rather a lot of fuss.
> It should be the case that zone->all_unreclaimable is set by the time this
> happens. Did you consider feeding that into the oom-killing decision
> instead?

The vast majority of all this are the couhters for reporting, which have
no effect on functionality. The actual functional effect is achieved by
two aspects: (a) passing __GFP_WIRED to __alloc_pages() and (b) passing
__GFP_WIRED to out_of_memory(), which informs it not to perform the test
if (nr_swap_pages > 0). I also made the small addition of removing wired
pagecache from the LRU lists, which is performance, not correctness.

I'll resend with all reporting/counters and LRU bits ripped out if needed.


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

\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.077 / U:1.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site