Re: Slab: Node rotor for freeing alien caches and remote per cpupages.

From: Christoph Lameter
Date: Thu Feb 23 2006 - 21:24:47 EST


On Thu, 23 Feb 2006, Ravikiran G Thirumalai wrote:

> Actually, all cpus on the node share the alien_cache, and the alien_cache is
> one per remote node (for the cachep). So currently each cpu on the node
> drains the same alien_cache onto all the remote nodes in the per-cpu eventd.

Right. So we could optimize that.

> What is probably very expensive here at drain_alien_cache is free_block
> getting called from the foreign node, and freeing remote pages.
> We have a patch-set here to drop-in the alien objects from the current node to
> the respective alien node's drop box, and that drop box will be cleared
> locally (so that freeing happens locally). This would happen off cache_reap.
> (I was holding from posting it because akpm complained about slab.c

Could you show us the patch?

> Round robin might still be useful for drain_alien_cache with that approach,
> but maybe init_reap_node should initialize the per-cpu reap_node with a skew
> for cpus on the same node (so all cpus of a node do not drain to the same
> foreign node when the eventd runs?)

Good idea.
-
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/