> On Thu, 8 Jul 2010, Andrew Morton wrote: > > > > AFAICT this is not argument error but someone changed the naming of the > > > parameter. > > > > It's been there since day zero: > > > > : commit 2a16e3f4b0c408b9e50297d2ec27e295d490267a > > : Author: Christoph Lameter <clameter@xxxxxxxxxxxx> > > : AuthorDate: Wed Feb 1 03:05:35 2006 -0800 > > : Commit: Linus Torvalds <torvalds@xxxxxxxxxxx> > > : CommitDate: Wed Feb 1 08:53:16 2006 -0800 > > : > > : [PATCH] Reclaim slab during zone reclaim > > That only shows that the order parameter was passed to shrink_slab() which > is what I remember being done intentionally. > > Vaguely recall that this was necessary to avoid shrink_slab() throwing out > too many pages for higher order allocs. But It make opposite effect. number of scanning objects of shrink_slab() are lru_scanned max_pass basic_scan_objects = 4 x ------------- x ----------------------------- lru_pages shrinker->seeks (default:2) scan_objects = min(basic_scan_objects, max_pass * 2) That said, small lru_pages parameter makes too many slab dropping. Practically, zone-reclaim always take max_pass*2. about inode, shrink_icache_memory() takes number of unused inode as max_pass. It mean one shrink_slab() calling drop all icache. Is this optimal behavior? why? Am I missing something? > Initially zone_reclaim was full of heuristics that later were replaced by > counter as the new ZVCs became available and gradually better ways of > accounting for pages became possible. -- 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>