Why isn't shrink_slab more zone oriented ?

From: kautuk.c @samsung.com
Date: Mon Sep 26 2011 - 07:52:21 EST


Hi,

I was going through the do_try_to_free_pages(), balance_pgdat(),
__zone_reclaim()
functions and I see that shrink_zone and shrink_slab are called for each zone.

But, shrink_slab() doesn't seem to bother about the zone from where it
is freeing
memory.

My questions are:

- Will this be a strain on the direct/indirect reclamation algorithm ?
The loops involved expects to free something from that particular zone.
shrink_slab might take more time than is required to free up pages from that
particular zone which might not be optimal.
Am I right about this conclusion ?

- If the above is correct, then is there any work happening on this
front, i.e., to
make shrink_slab functionality and the shrinker callbacks more zone-centric ?
Are there any patches that I could look at or download from
somewhere for this ?

- Are there any other considerations to be careful of for making
shrink_slab more
zone centric ? Can there be other side effects that affects
performance if the
shrink_slab and shrinker callbacks are made to free pages only from
a particular
zone ?

Thanks,
Kautuk.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/