diff options
| author | Andrew Morton <akpm@digeo.com> | 2002-09-15 08:50:53 -0700 |
|---|---|---|
| committer | Christoph Hellwig <hch@hera.kernel.org> | 2002-09-15 08:50:53 -0700 |
| commit | 483a40e401fd31025e2d0b4f2d33b4b90ddfe825 (patch) | |
| tree | be7b886ed3e594197876f63fe8f4e6c2dddf6785 /lib | |
| parent | f3b3dc81a22f506233aeb36fce6fd08de8fe81b6 (diff) | |
[PATCH] fix a bogus OOM condition for __GFP_NOFS allocations
If a GFP_NOFS allocation is made when the ZONE_NORMAL inactive list is
full of dirty or under-writeback pages, there is nothing the caller can
do to force some page reclaim. The caller ends up getting oom-killed.
- In mempool_alloc(), don't try to perform page reclaim again. Just
go to sleep and wait for some elements to be returned to the pool.
- In try_to_free_pages(): perform a single, short scan of the LRU and
if that doesn't work, fail the allocation. GFP_NOFS allocators know
how to handle that.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions
