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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>