lkml.org 
[lkml]   [2015]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 09/10] x86/intel_rdt: Hot cpu support for Cache Allocation


On Tue, 16 Jun 2015, Thomas Gleixner wrote:

> On Tue, 16 Jun 2015, Vikas Shivappa wrote:
>> On Tue, 16 Jun 2015, Thomas Gleixner wrote:
>>
>>> On Fri, 12 Jun 2015, Vikas Shivappa wrote:
>>>> +static inline void intel_rdt_cpu_start(int cpu)
>>>> +{
>>>> + struct intel_pqr_state *state = &per_cpu(pqr_state, cpu);
>>>> +
>>>> + state->closid = 0;
>>>> + mutex_lock(&rdt_group_mutex);
>>>
>>> This is called from CPU_STARTING, which runs on the starting cpu with
>>> interrupts disabled. Clearly never tested with any of the mandatory
>>> debug configs enabled.
>>
>> But this can race with cbm_update_all calling on_each_cpu_mask ? or in other
>> words the lock helps on_each_cpu_mask not race with hot cpu code updating the
>> rdt_cpumask since the on_each_cpu_mask is also called with the lock always.
>>
>> Its tested on the 0 day build which should include the debug config. Will add
>> a tested tag.
>
> And that tag gives you special permission to take a mutex in irq
> disabled context on a cpu which cannot schedule, right?

Will fix.

Doing
case CPU_ONLINE:
intel_rdt_cpu_start(cpu);
instead of
CPU_UP_PREPARE:
intel_rdt_cpu_start(cpu);

should work ?

CPU_ONLINE is just enough for me which doesnot have interrupts
disabled and i can then sync using the lock.

Thanks,
Vikas

>
> Thanks,
>
> tglx
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2015-06-19 23:01    [W:0.232 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site