Messages in this thread | | | Date | Wed, 14 May 2014 11:20:51 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [PATCH RFC 3/3] slub: reparent memcg caches' slabs on memcg offline |
| |
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.
| |