On Thu, Oct 21, 2010 at 12:59:17PM -0500, Christoph Lameter wrote: > Slab objects (and other caches) are always allocated from ZONE_NORMAL. > Not from any other zone. Calling the shrinkers for those zones may put > unnecessary pressure on the caches. > > Check the zone if we are in a reclaim situation where we are targeting > a specific node. Can occur f.e. in kswapd and in zone reclaim. Can you see my per-zone shrinker patches posted a few days ago? Rather than special case things, they just fold the slab shrinking with the pagecache shrinking so they now both operate per-zone. Shrinkers that are zone aware and don't have any objects in a particular zone would of course not do any scanning. I guess other than adding special casing, another problem others have pointed out is that you don't really know what zone a shrinker has memory in. Whether it is DMA or DMA32 or ZONE_MOVABLE or whatever comes up. There is also no restriction from shrinkers having HIGHMEM pages. They are sometimes called "slab shinkers", but really it is just any type of reclaimable memory a subsystem might have. -- 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>