linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND v4] sched: fix llc shared map unreleased during cpu hotplug
@ 2014-08-25  5:49 Wanpeng Li
  2014-09-09  7:06 ` Mike Galbraith
  0 siblings, 1 reply; 4+ messages in thread
From: Wanpeng Li @ 2014-08-25  5:49 UTC (permalink / raw)
  To: linux-kernel
  Cc: hpa, Ingo Molnar, Peter Zijlstra, x86, Borislav Petkov,
	Yasuaki Ishimatsu, David Rientjes, Prarit Bhargava,
	Steven Rostedt, Jan Kiszka, Toshi Kani, Zhang Yang, Wanpeng Li

[  220.262245] Call Trace:
[  220.262252]  [<ffffffff810e8396>] load_balance+0x156/0x980
[  220.262259]  [<ffffffff816eeffe>] ? _raw_spin_unlock_irqrestore+0x2e/0xa0
[  220.262266]  [<ffffffff810e9aa3>] idle_balance+0xe3/0x150
[  220.262270]  [<ffffffff816ec4e7>] __schedule+0x797/0x8d0
[  220.262277]  [<ffffffff816ec934>] schedule+0x24/0x70
[  220.262283]  [<ffffffff816e9cd9>] schedule_timeout+0x119/0x1f0
[  220.262294]  [<ffffffff810bb6e0>] ? lock_timer_base+0x70/0x70
[  220.262301]  [<ffffffff816e9dc9>] schedule_timeout_uninterruptible+0x19/0x20
[  220.262308]  [<ffffffff810bd3e8>] msleep+0x18/0x20
[  220.262317]  [<ffffffff813aa11a>] lock_device_hotplug_sysfs+0x2a/0x50
[  220.262323]  [<ffffffff813aa16e>] online_store+0x2e/0x80
[  220.262358]  [<ffffffff813a873b>] dev_attr_store+0x1b/0x20

Last level cache shared map is built during cpu up and build sched domain 
routine takes advantage of it to setup sched domain cpu topology, however, 
llc shared map is unreleased during cpu disable which lead to invalid sched 
domain cpu topology. This patch fix it by release llc shared map correctly
during cpu disable.

Reviewed-by: Toshi Kani <toshi.kani@hp.com>
Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Tested-by: Linn Crosetto <linn@hp.com>
Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
---
v3 -> v4:
 * simplify backtrace
v2 -> v3:
 * simplify backtrace 
v1 -> v2:
 * fix subject line

 arch/x86/kernel/smpboot.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 5492798..0134ec7 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1292,6 +1292,9 @@ static void remove_siblinginfo(int cpu)
 
 	for_each_cpu(sibling, cpu_sibling_mask(cpu))
 		cpumask_clear_cpu(cpu, cpu_sibling_mask(sibling));
+	for_each_cpu(sibling, cpu_llc_shared_mask(cpu))
+		cpumask_clear_cpu(cpu, cpu_llc_shared_mask(sibling));
+	cpumask_clear(cpu_llc_shared_mask(cpu));
 	cpumask_clear(cpu_sibling_mask(cpu));
 	cpumask_clear(cpu_core_mask(cpu));
 	c->phys_proc_id = 0;
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND v4] sched: fix llc shared map unreleased during cpu hotplug
  2014-08-25  5:49 [PATCH RESEND v4] sched: fix llc shared map unreleased during cpu hotplug Wanpeng Li
@ 2014-09-09  7:06 ` Mike Galbraith
  2014-09-09  7:24   ` Wanpeng Li
  0 siblings, 1 reply; 4+ messages in thread
From: Mike Galbraith @ 2014-09-09  7:06 UTC (permalink / raw)
  To: Wanpeng Li
  Cc: linux-kernel, hpa, Ingo Molnar, Peter Zijlstra, x86,
	Borislav Petkov, Yasuaki Ishimatsu, David Rientjes,
	Prarit Bhargava, Steven Rostedt, Jan Kiszka, Toshi Kani,
	Zhang Yang

Hm, this patchlet seems to be having trouble taking wing.

(tosses it up in the air.. flap yer little wings patchlet)

I thought you had changed the title to..

x86,cpu-hotplug: clear llc_shared_mask at CPU hotplug

..due to Peter saying sched is only a consumer, but v4 somehow reverted
back to being a sched patch.

On Mon, 2014-08-25 at 13:49 +0800, Wanpeng Li wrote: 
> [  220.262245] Call Trace:
> [  220.262252]  [<ffffffff810e8396>] load_balance+0x156/0x980
> [  220.262259]  [<ffffffff816eeffe>] ? _raw_spin_unlock_irqrestore+0x2e/0xa0
> [  220.262266]  [<ffffffff810e9aa3>] idle_balance+0xe3/0x150
> [  220.262270]  [<ffffffff816ec4e7>] __schedule+0x797/0x8d0
> [  220.262277]  [<ffffffff816ec934>] schedule+0x24/0x70
> [  220.262283]  [<ffffffff816e9cd9>] schedule_timeout+0x119/0x1f0
> [  220.262294]  [<ffffffff810bb6e0>] ? lock_timer_base+0x70/0x70
> [  220.262301]  [<ffffffff816e9dc9>] schedule_timeout_uninterruptible+0x19/0x20
> [  220.262308]  [<ffffffff810bd3e8>] msleep+0x18/0x20
> [  220.262317]  [<ffffffff813aa11a>] lock_device_hotplug_sysfs+0x2a/0x50
> [  220.262323]  [<ffffffff813aa16e>] online_store+0x2e/0x80
> [  220.262358]  [<ffffffff813a873b>] dev_attr_store+0x1b/0x20
> 
> Last level cache shared map is built during cpu up and build sched domain 
> routine takes advantage of it to setup sched domain cpu topology, however, 
> llc shared map is unreleased during cpu disable which lead to invalid sched 
> domain cpu topology. This patch fix it by release llc shared map correctly
> during cpu disable.
> 
> Reviewed-by: Toshi Kani <toshi.kani@hp.com>
> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
> Tested-by: Linn Crosetto <linn@hp.com>
> Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
> ---
> v3 -> v4:
>  * simplify backtrace
> v2 -> v3:
>  * simplify backtrace 
> v1 -> v2:
>  * fix subject line
> 
>  arch/x86/kernel/smpboot.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> index 5492798..0134ec7 100644
> --- a/arch/x86/kernel/smpboot.c
> +++ b/arch/x86/kernel/smpboot.c
> @@ -1292,6 +1292,9 @@ static void remove_siblinginfo(int cpu)
>  
>  	for_each_cpu(sibling, cpu_sibling_mask(cpu))
>  		cpumask_clear_cpu(cpu, cpu_sibling_mask(sibling));
> +	for_each_cpu(sibling, cpu_llc_shared_mask(cpu))
> +		cpumask_clear_cpu(cpu, cpu_llc_shared_mask(sibling));
> +	cpumask_clear(cpu_llc_shared_mask(cpu));
>  	cpumask_clear(cpu_sibling_mask(cpu));
>  	cpumask_clear(cpu_core_mask(cpu));
>  	c->phys_proc_id = 0;



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND v4] sched: fix llc shared map unreleased during cpu hotplug
  2014-09-09  7:06 ` Mike Galbraith
@ 2014-09-09  7:24   ` Wanpeng Li
  2014-09-09  7:40     ` H. Peter Anvin
  0 siblings, 1 reply; 4+ messages in thread
From: Wanpeng Li @ 2014-09-09  7:24 UTC (permalink / raw)
  To: Mike Galbraith
  Cc: linux-kernel, hpa, Ingo Molnar, Peter Zijlstra, x86,
	Borislav Petkov, Yasuaki Ishimatsu, David Rientjes,
	Prarit Bhargava, Steven Rostedt, Jan Kiszka, Toshi Kani,
	Zhang Yang, Wanpeng Li

Hi Mike,
On Tue, Sep 09, 2014 at 09:06:32AM +0200, Mike Galbraith wrote:
>Hm, this patchlet seems to be having trouble taking wing.
>
>(tosses it up in the air.. flap yer little wings patchlet)
>
>I thought you had changed the title to..
>
>x86,cpu-hotplug: clear llc_shared_mask at CPU hotplug
>
>..due to Peter saying sched is only a consumer, but v4 somehow reverted
>back to being a sched patch.
>

I send out the RESEND v4 by a mistake, please refer the below link for the patch.
https://lkml.org/lkml/2014/7/29/159

Regards,
Wanpeng Li 

>On Mon, 2014-08-25 at 13:49 +0800, Wanpeng Li wrote: 
>> [  220.262245] Call Trace:
>> [  220.262252]  [<ffffffff810e8396>] load_balance+0x156/0x980
>> [  220.262259]  [<ffffffff816eeffe>] ? _raw_spin_unlock_irqrestore+0x2e/0xa0
>> [  220.262266]  [<ffffffff810e9aa3>] idle_balance+0xe3/0x150
>> [  220.262270]  [<ffffffff816ec4e7>] __schedule+0x797/0x8d0
>> [  220.262277]  [<ffffffff816ec934>] schedule+0x24/0x70
>> [  220.262283]  [<ffffffff816e9cd9>] schedule_timeout+0x119/0x1f0
>> [  220.262294]  [<ffffffff810bb6e0>] ? lock_timer_base+0x70/0x70
>> [  220.262301]  [<ffffffff816e9dc9>] schedule_timeout_uninterruptible+0x19/0x20
>> [  220.262308]  [<ffffffff810bd3e8>] msleep+0x18/0x20
>> [  220.262317]  [<ffffffff813aa11a>] lock_device_hotplug_sysfs+0x2a/0x50
>> [  220.262323]  [<ffffffff813aa16e>] online_store+0x2e/0x80
>> [  220.262358]  [<ffffffff813a873b>] dev_attr_store+0x1b/0x20
>> 
>> Last level cache shared map is built during cpu up and build sched domain 
>> routine takes advantage of it to setup sched domain cpu topology, however, 
>> llc shared map is unreleased during cpu disable which lead to invalid sched 
>> domain cpu topology. This patch fix it by release llc shared map correctly
>> during cpu disable.
>> 
>> Reviewed-by: Toshi Kani <toshi.kani@hp.com>
>> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>> Tested-by: Linn Crosetto <linn@hp.com>
>> Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
>> ---
>> v3 -> v4:
>>  * simplify backtrace
>> v2 -> v3:
>>  * simplify backtrace 
>> v1 -> v2:
>>  * fix subject line
>> 
>>  arch/x86/kernel/smpboot.c | 3 +++
>>  1 file changed, 3 insertions(+)
>> 
>> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
>> index 5492798..0134ec7 100644
>> --- a/arch/x86/kernel/smpboot.c
>> +++ b/arch/x86/kernel/smpboot.c
>> @@ -1292,6 +1292,9 @@ static void remove_siblinginfo(int cpu)
>>  
>>  	for_each_cpu(sibling, cpu_sibling_mask(cpu))
>>  		cpumask_clear_cpu(cpu, cpu_sibling_mask(sibling));
>> +	for_each_cpu(sibling, cpu_llc_shared_mask(cpu))
>> +		cpumask_clear_cpu(cpu, cpu_llc_shared_mask(sibling));
>> +	cpumask_clear(cpu_llc_shared_mask(cpu));
>>  	cpumask_clear(cpu_sibling_mask(cpu));
>>  	cpumask_clear(cpu_core_mask(cpu));
>>  	c->phys_proc_id = 0;
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RESEND v4] sched: fix llc shared map unreleased during cpu hotplug
  2014-09-09  7:24   ` Wanpeng Li
@ 2014-09-09  7:40     ` H. Peter Anvin
  0 siblings, 0 replies; 4+ messages in thread
From: H. Peter Anvin @ 2014-09-09  7:40 UTC (permalink / raw)
  To: Wanpeng Li
  Cc: Mike Galbraith, linux-kernel, Ingo Molnar, Peter Zijlstra, x86,
	Borislav Petkov, Yasuaki Ishimatsu, David Rientjes,
	Prarit Bhargava, Steven Rostedt, Jan Kiszka, Toshi Kani,
	Zhang Yang

I didn't look at it that hard since it claimed to be a sched patch.  I prioritize things in my inbox which say x86 for obvious reasons.  Since I have over 12,000 unread messages in my inbox alone...

Sent from my tablet, pardon any formatting problems.

> On Sep 9, 2014, at 0:24, Wanpeng Li <wanpeng.li@linux.intel.com> wrote:
> 
> Hi Mike,
>> On Tue, Sep 09, 2014 at 09:06:32AM +0200, Mike Galbraith wrote:
>> Hm, this patchlet seems to be having trouble taking wing.
>> 
>> (tosses it up in the air.. flap yer little wings patchlet)
>> 
>> I thought you had changed the title to..
>> 
>> x86,cpu-hotplug: clear llc_shared_mask at CPU hotplug
>> 
>> ..due to Peter saying sched is only a consumer, but v4 somehow reverted
>> back to being a sched patch.
> 
> I send out the RESEND v4 by a mistake, please refer the below link for the patch.
> https://lkml.org/lkml/2014/7/29/159
> 
> Regards,
> Wanpeng Li 
> 
>>> On Mon, 2014-08-25 at 13:49 +0800, Wanpeng Li wrote: 
>>> [  220.262245] Call Trace:
>>> [  220.262252]  [<ffffffff810e8396>] load_balance+0x156/0x980
>>> [  220.262259]  [<ffffffff816eeffe>] ? _raw_spin_unlock_irqrestore+0x2e/0xa0
>>> [  220.262266]  [<ffffffff810e9aa3>] idle_balance+0xe3/0x150
>>> [  220.262270]  [<ffffffff816ec4e7>] __schedule+0x797/0x8d0
>>> [  220.262277]  [<ffffffff816ec934>] schedule+0x24/0x70
>>> [  220.262283]  [<ffffffff816e9cd9>] schedule_timeout+0x119/0x1f0
>>> [  220.262294]  [<ffffffff810bb6e0>] ? lock_timer_base+0x70/0x70
>>> [  220.262301]  [<ffffffff816e9dc9>] schedule_timeout_uninterruptible+0x19/0x20
>>> [  220.262308]  [<ffffffff810bd3e8>] msleep+0x18/0x20
>>> [  220.262317]  [<ffffffff813aa11a>] lock_device_hotplug_sysfs+0x2a/0x50
>>> [  220.262323]  [<ffffffff813aa16e>] online_store+0x2e/0x80
>>> [  220.262358]  [<ffffffff813a873b>] dev_attr_store+0x1b/0x20
>>> 
>>> Last level cache shared map is built during cpu up and build sched domain 
>>> routine takes advantage of it to setup sched domain cpu topology, however, 
>>> llc shared map is unreleased during cpu disable which lead to invalid sched 
>>> domain cpu topology. This patch fix it by release llc shared map correctly
>>> during cpu disable.
>>> 
>>> Reviewed-by: Toshi Kani <toshi.kani@hp.com>
>>> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>> Tested-by: Linn Crosetto <linn@hp.com>
>>> Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
>>> ---
>>> v3 -> v4:
>>> * simplify backtrace
>>> v2 -> v3:
>>> * simplify backtrace 
>>> v1 -> v2:
>>> * fix subject line
>>> 
>>> arch/x86/kernel/smpboot.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>> 
>>> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
>>> index 5492798..0134ec7 100644
>>> --- a/arch/x86/kernel/smpboot.c
>>> +++ b/arch/x86/kernel/smpboot.c
>>> @@ -1292,6 +1292,9 @@ static void remove_siblinginfo(int cpu)
>>> 
>>>    for_each_cpu(sibling, cpu_sibling_mask(cpu))
>>>        cpumask_clear_cpu(cpu, cpu_sibling_mask(sibling));
>>> +    for_each_cpu(sibling, cpu_llc_shared_mask(cpu))
>>> +        cpumask_clear_cpu(cpu, cpu_llc_shared_mask(sibling));
>>> +    cpumask_clear(cpu_llc_shared_mask(cpu));
>>>    cpumask_clear(cpu_sibling_mask(cpu));
>>>    cpumask_clear(cpu_core_mask(cpu));
>>>    c->phys_proc_id = 0;
>> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-09-09  7:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-25  5:49 [PATCH RESEND v4] sched: fix llc shared map unreleased during cpu hotplug Wanpeng Li
2014-09-09  7:06 ` Mike Galbraith
2014-09-09  7:24   ` Wanpeng Li
2014-09-09  7:40     ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).