lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ