Re: [patch 1/3] slob: rework freelist handling

Christoph Lameter
2007-05-23T19:15:16Z

On Wed, 23 May 2007, Matt Mackall wrote:

> You keep saying something like this but I'm never quite clear what you
> mean. There are no slabs so reclaiming unused slabs is a non-issue.
> Things like shrinking the dcache should work:
>
> __alloc_pages
> try_to_free_pages
> shrink_slab
> shrink_dcache_memory
>
> I don't see any checks of ZVCs interfering with that path.

One example is the NR_SLAB_RECLAIMABLE ZVC. SLOB does not handle it thus
it is always zero.

slab reclaim is entered in mm/vsmscan shrink_all_memory():

nr_slab = global_page_state(NR_SLAB_RECLAIMABLE);
/* If slab caches are huge, it's better to hit them first */
while (nr_slab >= lru_pages) {
reclaim_state.reclaimed_slab = 0;
shrink_slab(nr_pages, sc.gfp_mask, lru_pages);
if (!reclaim_state.reclaimed_slab)

nr_slab will always be zero.