lkml.org 
[lkml]   [2008]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: current linux-2.6.git: cpusets completely broken
Dmitry Adamushko wrote:
> Does the patch below help?
>
> (non-white-space-damaged version is attached)
>
> diff --git a/kernel/cpuset.c b/kernel/cpuset.c
> index 9fceb97..ae61dc9 100644
> --- a/kernel/cpuset.c
> +++ b/kernel/cpuset.c
> @@ -1912,11 +1912,21 @@ static void common_cpu_mem_hotplug_unplug(void)
> static int cpuset_handle_cpuhp(struct notifier_block *unused_nb,
> unsigned long phase, void *unused_cpu)
> {
> - if (phase == CPU_DYING || phase == CPU_DYING_FROZEN)
> + swicth (phase) {
> + case CPU_UP_CANCELED:
> + case CPU_UP_CANCELED_FROZEN:
> + case CPU_DOWN_FAILED:
> + case CPU_DOWN_FAILED_FROZEN:
> + case CPU_ONLINE:
> + case CPU_ONLINE_FROZEN:
> + case CPU_DEAD:
> + case CPU_DEAD_FROZEN:
> + common_cpu_mem_hotplug_unplug();
> + break;
> + default:
> return NOTIFY_DONE;

I was always wondering why we're running that logic for every hotplug
event.
For example, do we care for UP_CANCELED* and DOWN_FAILED* ? Presumably
nothing should've changed, no ?
btw I'm just going by the name of the event. So UP_CANCELED to me sounds
like CPU never got to the ONLINE stage and cpuset should not really care.

Max




\
 
 \ /
  Last update: 2008-07-12 01:23    [W:0.153 / U:2.984 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site