[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1506191336240.32420@vshiva-Udesk>
Date: Fri, 19 Jun 2015 13:42:02 -0700 (PDT)
From: Vikas Shivappa <vikas.shivappa@...el.com>
To: Thomas Gleixner <tglx@...utronix.de>
cc: Vikas Shivappa <vikas.shivappa@...el.com>,
Vikas Shivappa <vikas.shivappa@...ux.intel.com>,
linux-kernel@...r.kernel.org, x86@...nel.org, hpa@...or.com,
mingo@...nel.org, peterz@...radead.org, matt.fleming@...el.com,
will.auld@...el.com, linux-rdt@...ists.intel.com
Subject: Re: [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/
Powered by blists - more mailing lists