| Date | Fri, 17 Aug 2012 11:01:06 +0400 | From | Glauber Costa <> | Subject | Re: [PATCH v2 08/11] memcg: disable kmem code when not in use. |
| |
On 08/17/2012 11:02 AM, Michal Hocko wrote: > On Thu 09-08-12 17:01:16, Glauber Costa wrote: >> We can use jump labels to patch the code in or out when not used. >> >> Because the assignment: memcg->kmem_accounted = true is done after the >> jump labels increment, we guarantee that the root memcg will always be >> selected until all call sites are patched (see memcg_kmem_enabled). > > Not that it would be really important because kmem_accounted goes away > in a subsequent patch but I think the wording is a bit misleading here. > First of all there is no guanratee that kmem_accounted=true is seen > before atomic_inc(&key->enabled) because there is no memory barrier and > the lock serves just a leave barrier. But I do not think this is > important at all because key->enabled is what matters here. Even if > memcg_kmem_enabled is true we do not consider it if the key is disabled, > right? >
Right.
|