Re: [PATCH RFC 3/3] slub: reparent memcg caches' slabs on memcg offline

From: Christoph Lameter
Date: Wed May 14 2014 - 12:20:58 EST


On Tue, 13 May 2014, Vladimir Davydov wrote:

> Since the "slow" and the "normal" free's can't coexist at the same time,
> we must assure all conventional free's have finished before switching
> all further free's to the "slow" mode and starting reparenting. To
> achieve that, a percpu refcounter is used. It is taken and held during
> each "normal" free. The refcounter is killed on memcg offline, and the
> cache's pages migration is initiated from the refcounter's release
> function. If we fail to take a ref on kfree, it means all "normal"
> free's have been completed and the cache is being reparented right now,
> so we should free the object using the "slow" mode.

Argh adding more code to the free path touching more cachelines in the
process.

--
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/