Re: [PATCH v2 3/5] change number_of_cpusets to an atomic [message #46057 is a reply to message #46056] |
Tue, 24 April 2012 16:15   |
Glauber Costa
Messages: 916 Registered: October 2011
|
Senior Member |
|
|
On 04/24/2012 12:02 PM, Christoph Lameter wrote:
> On Mon, 23 Apr 2012, Glauber Costa wrote:
>
>> This will allow us to call destroy() without holding the
>> cgroup_mutex(). Other important updates inside update_flags()
>> are protected by the callback_mutex.
>>
>> We could protect this variable with the callback_mutex as well,
>> as suggested by Li Zefan, but we need to make sure we are protected
>> by that mutex at all times, and some of its updates happen inside the
>> cgroup_mutex - which means we would deadlock.
>
> Would this not also be a good case to introduce static branching?
>
> number_of_cpusets is used to avoid going through unnecessary processing
> should there be no cpusets in use.
>
Well,
static branches comes with a set of problems themselves, so I usually
prefer to use them only in places where we don't want to pay even a
cache miss if we can avoid, or a function call, or anything like that -
like the slub cache alloc as you may have seen in my kmem memcg series.
It doesn't seem to be the case here.
|
|
|