All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] cpuset: fix crash when adding CPUs to an empty set
@ 2015-01-21  6:16 Mike Galbraith
  2015-01-28  2:41 ` Zefan Li
  0 siblings, 1 reply; 7+ messages in thread
From: Mike Galbraith @ 2015-01-21  6:16 UTC (permalink / raw)
  To: LKML; +Cc: Li Zefan


While creating a set of shielded CPUs, we passed cpuset_cpumask_can_shrink()
an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it.

[  514.513841] CPU: 0 PID: 6942 Comm: shield.sh Not tainted 3.19.0-master #19
[  514.513841] Hardware name: MEDIONPC MS-7502/MS-7502, BIOS 6.00 PG 12/26/2007
[  514.513841] task: ffff880224552450 ti: ffff8800caab8000 task.ti: ffff8800caab8000
[  514.513841] RIP: 0010:[<ffffffff81073846>]  [<ffffffff81073846>] cpuset_cpumask_can_shrink+0x56/0xb0
[  514.513841] RSP: 0018:ffff8800caabbda8  EFLAGS: 00010202
[  514.513841] RAX: 0000ffff00000000 RBX: ffff880037ae2ab8 RCX: 0000000000000000
[  514.513841] RDX: 0000000000012900 RSI: 0000000000000000 RDI: 000000000000000c
[  514.513841] RBP: ffff8800caabbdc8 R08: ffff880037ae2ab8 R09: 0000000000000034
[  514.513841] R10: 00000077e6fd3d1a R11: ffff88022e9b301c R12: ffff880223c98ab8
[  514.513841] R13: ffff880037ae2a00 R14: 0000000000000004 R15: ffff8802254b3c60
[  514.513841] FS:  00007fdbab533700(0000) GS:ffff88022fc00000(0000) knlGS:0000000000000000
[  514.513841] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  514.513841] CR2: 00007ffff8ab8000 CR3: 00000000bef11000 CR4: 00000000000007f0
[  514.513841] Stack:
[  514.513841]  ffff880223c98ab8 ffffffff81a46c20 ffff880223c98a00 ffff880037ae2a00
[  514.513841]  ffff8800caabbdf8 ffffffff810cb82a ffff8800caabbdf8 ffff880037ae2a00
[  514.513841]  ffff8800ca9e5240 0000000000000000 ffff8800caabbe48 ffffffff810cc877
[  514.513841] Call Trace:
[  514.513841]  [<ffffffff810cb82a>] validate_change+0x18a/0x200
[  514.513841]  [<ffffffff810cc877>] cpuset_write_resmask+0x3b7/0x720
[  514.513841]  [<ffffffff810c4d58>] cgroup_file_write+0x38/0x100
[  514.513841]  [<ffffffff811d953a>] kernfs_fop_write+0x12a/0x180
[  514.513841]  [<ffffffff8116e1a3>] vfs_write+0xb3/0x1d0
[  514.513841]  [<ffffffff8116ed06>] SyS_write+0x46/0xb0
[  514.513841]  [<ffffffff8159ced6>] system_call_fastpath+0x16/0x1b

Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>

---
 kernel/cpuset.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -511,7 +511,7 @@ static int validate_change(struct cpuset
 	 * tasks.
 	 */
 	ret = -EBUSY;
-	if (is_cpu_exclusive(cur) &&
+	if (is_cpu_exclusive(cur) && !cpumask_empty(cur->cpus_allowed) &&
 	    !cpuset_cpumask_can_shrink(cur->cpus_allowed,
 				       trial->cpus_allowed))
 		goto out;



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

* Re: [patch] cpuset: fix crash when adding CPUs to an empty set
  2015-01-21  6:16 [patch] cpuset: fix crash when adding CPUs to an empty set Mike Galbraith
@ 2015-01-28  2:41 ` Zefan Li
  2015-01-28  3:53   ` Mike Galbraith
  0 siblings, 1 reply; 7+ messages in thread
From: Zefan Li @ 2015-01-28  2:41 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: LKML

Hi Mike,

On 2015/1/21 14:16, Mike Galbraith wrote:
> 
> While creating a set of shielded CPUs, we passed cpuset_cpumask_can_shrink()
> an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it.
> 
> [  514.513841] CPU: 0 PID: 6942 Comm: shield.sh Not tainted 3.19.0-master #19
> [  514.513841] Hardware name: MEDIONPC MS-7502/MS-7502, BIOS 6.00 PG 12/26/2007
> [  514.513841] task: ffff880224552450 ti: ffff8800caab8000 task.ti: ffff8800caab8000
> [  514.513841] RIP: 0010:[<ffffffff81073846>]  [<ffffffff81073846>] cpuset_cpumask_can_shrink+0x56/0xb0
> [  514.513841] RSP: 0018:ffff8800caabbda8  EFLAGS: 00010202
> [  514.513841] RAX: 0000ffff00000000 RBX: ffff880037ae2ab8 RCX: 0000000000000000
> [  514.513841] RDX: 0000000000012900 RSI: 0000000000000000 RDI: 000000000000000c
> [  514.513841] RBP: ffff8800caabbdc8 R08: ffff880037ae2ab8 R09: 0000000000000034
> [  514.513841] R10: 00000077e6fd3d1a R11: ffff88022e9b301c R12: ffff880223c98ab8
> [  514.513841] R13: ffff880037ae2a00 R14: 0000000000000004 R15: ffff8802254b3c60
> [  514.513841] FS:  00007fdbab533700(0000) GS:ffff88022fc00000(0000) knlGS:0000000000000000
> [  514.513841] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [  514.513841] CR2: 00007ffff8ab8000 CR3: 00000000bef11000 CR4: 00000000000007f0
> [  514.513841] Stack:
> [  514.513841]  ffff880223c98ab8 ffffffff81a46c20 ffff880223c98a00 ffff880037ae2a00
> [  514.513841]  ffff8800caabbdf8 ffffffff810cb82a ffff8800caabbdf8 ffff880037ae2a00
> [  514.513841]  ffff8800ca9e5240 0000000000000000 ffff8800caabbe48 ffffffff810cc877
> [  514.513841] Call Trace:
> [  514.513841]  [<ffffffff810cb82a>] validate_change+0x18a/0x200
> [  514.513841]  [<ffffffff810cc877>] cpuset_write_resmask+0x3b7/0x720
> [  514.513841]  [<ffffffff810c4d58>] cgroup_file_write+0x38/0x100
> [  514.513841]  [<ffffffff811d953a>] kernfs_fop_write+0x12a/0x180
> [  514.513841]  [<ffffffff8116e1a3>] vfs_write+0xb3/0x1d0
> [  514.513841]  [<ffffffff8116ed06>] SyS_write+0x46/0xb0
> [  514.513841]  [<ffffffff8159ced6>] system_call_fastpath+0x16/0x1b
> 
> Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
> 
> ---
>  kernel/cpuset.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/kernel/cpuset.c
> +++ b/kernel/cpuset.c
> @@ -511,7 +511,7 @@ static int validate_change(struct cpuset
>  	 * tasks.
>  	 */
>  	ret = -EBUSY;
> -	if (is_cpu_exclusive(cur) &&
> +	if (is_cpu_exclusive(cur) && !cpumask_empty(cur->cpus_allowed) &&
>  	    !cpuset_cpumask_can_shrink(cur->cpus_allowed,
>  				       trial->cpus_allowed))
>  		goto out;
> 

We should instead fix cpuset_cpumask_can_shrink() to check if the return value of
cpumask_any() >= nr_cpu_ids.


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

* Re: [patch] cpuset: fix crash when adding CPUs to an empty set
  2015-01-28  2:41 ` Zefan Li
@ 2015-01-28  3:53   ` Mike Galbraith
  2015-01-28  4:24     ` Zefan Li
  2015-01-28 14:33     ` [tip:sched/urgent] sched: Fix crash if cpuset_cpumask_can_shrink( ) is passed an empty cpumask tip-bot for Mike Galbraith
  0 siblings, 2 replies; 7+ messages in thread
From: Mike Galbraith @ 2015-01-28  3:53 UTC (permalink / raw)
  To: Zefan Li; +Cc: Peter Zijlstra, LKML

On Wed, 2015-01-28 at 10:41 +0800, Zefan Li wrote:

> > ---
> >  kernel/cpuset.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > --- a/kernel/cpuset.c
> > +++ b/kernel/cpuset.c
> > @@ -511,7 +511,7 @@ static int validate_change(struct cpuset
> >  	 * tasks.
> >  	 */
> >  	ret = -EBUSY;
> > -	if (is_cpu_exclusive(cur) &&
> > +	if (is_cpu_exclusive(cur) && !cpumask_empty(cur->cpus_allowed) &&
> >  	    !cpuset_cpumask_can_shrink(cur->cpus_allowed,
> >  				       trial->cpus_allowed))
> >  		goto out;
> > 
> 
> We should instead fix cpuset_cpumask_can_shrink() to check if the return value of
> cpumask_any() >= nr_cpu_ids.

I like 0 lines better, but ok.

sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask

While creating an exclusive cpuset, we passed cpuset_cpumask_can_shrink()
an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it.

[  514.513841] CPU: 0 PID: 6942 Comm: shield.sh Not tainted 3.19.0-master #19
[  514.513841] Hardware name: MEDIONPC MS-7502/MS-7502, BIOS 6.00 PG 12/26/2007
[  514.513841] task: ffff880224552450 ti: ffff8800caab8000 task.ti: ffff8800caab8000
[  514.513841] RIP: 0010:[<ffffffff81073846>]  [<ffffffff81073846>] cpuset_cpumask_can_shrink+0x56/0xb0
[  514.513841] RSP: 0018:ffff8800caabbda8  EFLAGS: 00010202
[  514.513841] RAX: 0000ffff00000000 RBX: ffff880037ae2ab8 RCX: 0000000000000000
[  514.513841] RDX: 0000000000012900 RSI: 0000000000000000 RDI: 000000000000000c
[  514.513841] RBP: ffff8800caabbdc8 R08: ffff880037ae2ab8 R09: 0000000000000034
[  514.513841] R10: 00000077e6fd3d1a R11: ffff88022e9b301c R12: ffff880223c98ab8
[  514.513841] R13: ffff880037ae2a00 R14: 0000000000000004 R15: ffff8802254b3c60
[  514.513841] FS:  00007fdbab533700(0000) GS:ffff88022fc00000(0000) knlGS:0000000000000000
[  514.513841] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  514.513841] CR2: 00007ffff8ab8000 CR3: 00000000bef11000 CR4: 00000000000007f0
[  514.513841] Stack:
[  514.513841]  ffff880223c98ab8 ffffffff81a46c20 ffff880223c98a00 ffff880037ae2a00
[  514.513841]  ffff8800caabbdf8 ffffffff810cb82a ffff8800caabbdf8 ffff880037ae2a00
[  514.513841]  ffff8800ca9e5240 0000000000000000 ffff8800caabbe48 ffffffff810cc877
[  514.513841] Call Trace:
[  514.513841]  [<ffffffff810cb82a>] validate_change+0x18a/0x200
[  514.513841]  [<ffffffff810cc877>] cpuset_write_resmask+0x3b7/0x720
[  514.513841]  [<ffffffff810c4d58>] cgroup_file_write+0x38/0x100
[  514.513841]  [<ffffffff811d953a>] kernfs_fop_write+0x12a/0x180
[  514.513841]  [<ffffffff8116e1a3>] vfs_write+0xb3/0x1d0
[  514.513841]  [<ffffffff8116ed06>] SyS_write+0x46/0xb0
[  514.513841]  [<ffffffff8159ced6>] system_call_fastpath+0x16/0x1b

Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>

---
 kernel/sched/core.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4739,6 +4739,9 @@ int cpuset_cpumask_can_shrink(const stru
 	struct dl_bw *cur_dl_b;
 	unsigned long flags;
 
+	if (!cpumask_weight(cur))
+		return ret;
+
 	rcu_read_lock_sched();
 	cur_dl_b = dl_bw_of(cpumask_any(cur));
 	trial_cpus = cpumask_weight(trial);



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

* Re: [patch] cpuset: fix crash when adding CPUs to an empty set
  2015-01-28  3:53   ` Mike Galbraith
@ 2015-01-28  4:24     ` Zefan Li
  2015-01-28 11:53       ` Peter Zijlstra
  2015-01-28 14:33     ` [tip:sched/urgent] sched: Fix crash if cpuset_cpumask_can_shrink( ) is passed an empty cpumask tip-bot for Mike Galbraith
  1 sibling, 1 reply; 7+ messages in thread
From: Zefan Li @ 2015-01-28  4:24 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: Peter Zijlstra, LKML, Ingo Molnar

Cc: Ingo
Cc: Juri

On 2015/1/28 11:53, Mike Galbraith wrote:
> On Wed, 2015-01-28 at 10:41 +0800, Zefan Li wrote:
> 
>>> ---
>>>  kernel/cpuset.c |    2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> --- a/kernel/cpuset.c
>>> +++ b/kernel/cpuset.c
>>> @@ -511,7 +511,7 @@ static int validate_change(struct cpuset
>>>  	 * tasks.
>>>  	 */
>>>  	ret = -EBUSY;
>>> -	if (is_cpu_exclusive(cur) &&
>>> +	if (is_cpu_exclusive(cur) && !cpumask_empty(cur->cpus_allowed) &&
>>>  	    !cpuset_cpumask_can_shrink(cur->cpus_allowed,
>>>  				       trial->cpus_allowed))
>>>  		goto out;
>>>
>>
>> We should instead fix cpuset_cpumask_can_shrink() to check if the return value of
>> cpumask_any() >= nr_cpu_ids.
> 
> I like 0 lines better, but ok.
> 
> sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask
> 
> While creating an exclusive cpuset, we passed cpuset_cpumask_can_shrink()
> an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it.
> 
> [  514.513841] CPU: 0 PID: 6942 Comm: shield.sh Not tainted 3.19.0-master #19
> [  514.513841] Hardware name: MEDIONPC MS-7502/MS-7502, BIOS 6.00 PG 12/26/2007
> [  514.513841] task: ffff880224552450 ti: ffff8800caab8000 task.ti: ffff8800caab8000
> [  514.513841] RIP: 0010:[<ffffffff81073846>]  [<ffffffff81073846>] cpuset_cpumask_can_shrink+0x56/0xb0
> [  514.513841] RSP: 0018:ffff8800caabbda8  EFLAGS: 00010202
> [  514.513841] RAX: 0000ffff00000000 RBX: ffff880037ae2ab8 RCX: 0000000000000000
> [  514.513841] RDX: 0000000000012900 RSI: 0000000000000000 RDI: 000000000000000c
> [  514.513841] RBP: ffff8800caabbdc8 R08: ffff880037ae2ab8 R09: 0000000000000034
> [  514.513841] R10: 00000077e6fd3d1a R11: ffff88022e9b301c R12: ffff880223c98ab8
> [  514.513841] R13: ffff880037ae2a00 R14: 0000000000000004 R15: ffff8802254b3c60
> [  514.513841] FS:  00007fdbab533700(0000) GS:ffff88022fc00000(0000) knlGS:0000000000000000
> [  514.513841] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [  514.513841] CR2: 00007ffff8ab8000 CR3: 00000000bef11000 CR4: 00000000000007f0
> [  514.513841] Stack:
> [  514.513841]  ffff880223c98ab8 ffffffff81a46c20 ffff880223c98a00 ffff880037ae2a00
> [  514.513841]  ffff8800caabbdf8 ffffffff810cb82a ffff8800caabbdf8 ffff880037ae2a00
> [  514.513841]  ffff8800ca9e5240 0000000000000000 ffff8800caabbe48 ffffffff810cc877
> [  514.513841] Call Trace:
> [  514.513841]  [<ffffffff810cb82a>] validate_change+0x18a/0x200
> [  514.513841]  [<ffffffff810cc877>] cpuset_write_resmask+0x3b7/0x720
> [  514.513841]  [<ffffffff810c4d58>] cgroup_file_write+0x38/0x100
> [  514.513841]  [<ffffffff811d953a>] kernfs_fop_write+0x12a/0x180
> [  514.513841]  [<ffffffff8116e1a3>] vfs_write+0xb3/0x1d0
> [  514.513841]  [<ffffffff8116ed06>] SyS_write+0x46/0xb0
> [  514.513841]  [<ffffffff8159ced6>] system_call_fastpath+0x16/0x1b
> 
> Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
> 

Acked-by: Zefan Li <lizefan@huawei.com>

This fixes f82f80426f7afcf55953924e71555984a4bd6ce6 
("sched/deadline: Ensure that updates to exclusive cpusets don't break AC").

> ---
>  kernel/sched/core.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -4739,6 +4739,9 @@ int cpuset_cpumask_can_shrink(const stru
>  	struct dl_bw *cur_dl_b;
>  	unsigned long flags;
>  
> +	if (!cpumask_weight(cur))
> +		return ret;
> +
>  	rcu_read_lock_sched();
>  	cur_dl_b = dl_bw_of(cpumask_any(cur));
>  	trial_cpus = cpumask_weight(trial);
> 
> 
> .
> 


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

* Re: [patch] cpuset: fix crash when adding CPUs to an empty set
  2015-01-28  4:24     ` Zefan Li
@ 2015-01-28 11:53       ` Peter Zijlstra
  2015-01-28 12:03         ` Mike Galbraith
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Zijlstra @ 2015-01-28 11:53 UTC (permalink / raw)
  To: Zefan Li; +Cc: Mike Galbraith, LKML, Ingo Molnar

On Wed, Jan 28, 2015 at 12:24:52PM +0800, Zefan Li wrote:
> > sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask
> > 
> > While creating an exclusive cpuset, we passed cpuset_cpumask_can_shrink()
> > an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it.
> > 

Is this the case where a new cpuset doesn't yet have CPUs assigned?


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

* Re: [patch] cpuset: fix crash when adding CPUs to an empty set
  2015-01-28 11:53       ` Peter Zijlstra
@ 2015-01-28 12:03         ` Mike Galbraith
  0 siblings, 0 replies; 7+ messages in thread
From: Mike Galbraith @ 2015-01-28 12:03 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Zefan Li, LKML, Ingo Molnar

On Wed, 2015-01-28 at 12:53 +0100, Peter Zijlstra wrote: 
> On Wed, Jan 28, 2015 at 12:24:52PM +0800, Zefan Li wrote:
> > > sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask
> > > 
> > > While creating an exclusive cpuset, we passed cpuset_cpumask_can_shrink()
> > > an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it.
> > > 
> 
> Is this the case where a new cpuset doesn't yet have CPUs assigned?

Yes.

-Mike



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

* [tip:sched/urgent] sched: Fix crash if cpuset_cpumask_can_shrink( ) is passed an empty cpumask
  2015-01-28  3:53   ` Mike Galbraith
  2015-01-28  4:24     ` Zefan Li
@ 2015-01-28 14:33     ` tip-bot for Mike Galbraith
  1 sibling, 0 replies; 7+ messages in thread
From: tip-bot for Mike Galbraith @ 2015-01-28 14:33 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, umgwanakikbuti, lizefan, peterz, mingo, linux-kernel, hpa,
	torvalds

Commit-ID:  bb2bc55a694d45cdeda91b6f28ab2adec28125ef
Gitweb:     http://git.kernel.org/tip/bb2bc55a694d45cdeda91b6f28ab2adec28125ef
Author:     Mike Galbraith <umgwanakikbuti@gmail.com>
AuthorDate: Wed, 28 Jan 2015 04:53:55 +0100
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 28 Jan 2015 15:28:15 +0100

sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask

While creating an exclusive cpuset, we passed cpuset_cpumask_can_shrink()
an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it:

 CPU: 0 PID: 6942 Comm: shield.sh Not tainted 3.19.0-master #19
 Hardware name: MEDIONPC MS-7502/MS-7502, BIOS 6.00 PG 12/26/2007
 task: ffff880224552450 ti: ffff8800caab8000 task.ti: ffff8800caab8000
 RIP: 0010:[<ffffffff81073846>]  [<ffffffff81073846>] cpuset_cpumask_can_shrink+0x56/0xb0
 [...]
 Call Trace:
  [<ffffffff810cb82a>] validate_change+0x18a/0x200
  [<ffffffff810cc877>] cpuset_write_resmask+0x3b7/0x720
  [<ffffffff810c4d58>] cgroup_file_write+0x38/0x100
  [<ffffffff811d953a>] kernfs_fop_write+0x12a/0x180
  [<ffffffff8116e1a3>] vfs_write+0xb3/0x1d0
  [<ffffffff8116ed06>] SyS_write+0x46/0xb0
  [<ffffffff8159ced6>] system_call_fastpath+0x16/0x1b

Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
Acked-by: Zefan Li <lizefan@huawei.com>
Fixes: f82f80426f7a ("sched/deadline: Ensure that updates to exclusive cpusets don't break AC")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1422417235.5716.5.camel@marge.simpson.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index c0accc0..5c86687 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4642,6 +4642,9 @@ int cpuset_cpumask_can_shrink(const struct cpumask *cur,
 	struct dl_bw *cur_dl_b;
 	unsigned long flags;
 
+	if (!cpumask_weight(cur))
+		return ret;
+
 	rcu_read_lock_sched();
 	cur_dl_b = dl_bw_of(cpumask_any(cur));
 	trial_cpus = cpumask_weight(trial);

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

end of thread, other threads:[~2015-01-29  1:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-21  6:16 [patch] cpuset: fix crash when adding CPUs to an empty set Mike Galbraith
2015-01-28  2:41 ` Zefan Li
2015-01-28  3:53   ` Mike Galbraith
2015-01-28  4:24     ` Zefan Li
2015-01-28 11:53       ` Peter Zijlstra
2015-01-28 12:03         ` Mike Galbraith
2015-01-28 14:33     ` [tip:sched/urgent] sched: Fix crash if cpuset_cpumask_can_shrink( ) is passed an empty cpumask tip-bot for Mike Galbraith

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.