Re: vmscan: Do not run shrinkers for zones other than ZONE_NORMAL

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

 



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>



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