summaryrefslogtreecommitdiff
path: root/arch/s390/mm
diff options
context:
space:
mode:
authorakpm@osdl.org <akpm@osdl.org>2005-06-22 00:14:35 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-22 01:46:13 (GMT)
commitb15e0905f2b9964fc7426fecab57445e96021b61 (patch)
treebc1b3606cf282f88cd6598de22190eff6708affa /arch/s390/mm
parent39c715b71740c4a78ba4769fb54826929bac03cb (diff)
downloadlinux-b15e0905f2b9964fc7426fecab57445e96021b61.tar.xz
[PATCH] vmscan: notice slab shrinking
Fix a problem identified by Andrea Arcangeli <andrea@suse.de> kswapd will set a zone into all_unreclaimable state if it sees that we're not successfully reclaiming LRU pages. But that fails to notice that we're successfully reclaiming slab obects, so we can set all_unreclaimable too soon. So change shrink_slab() to return a success indication if it actually reclaimed some objects, and don't assume that the zone is all_unreclaimable if that is true. This means that we won't enter all_unreclaimable state if we are successfully freeing slab objects but we're not yet actually freeing slab pages, due to internal fragmentation. (hm, this has a shortcoming. We could be successfully freeing ZONE_NORMAL slab objects while being really oom on ZONE_DMA. If that happens then kswapd might burn a lot of CPU. But given that there might be some slab objects in ZONE_DMA, perhaps that is appropriate.) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/s390/mm')
0 files changed, 0 insertions, 0 deletions