Re: Regression in 2.6.27-rc1 for set_cpus_allowed_ptr

From: Max Krasnyansky
Date: Mon Aug 11 2008 - 18:14:21 EST




Linus Torvalds wrote:
>
> On Mon, 11 Aug 2008, Ingo Molnar wrote:
>> i've queued up the fix below in tip/sched/urgent.
>>
>> diff --git a/kernel/cpu.c b/kernel/cpu.c
>> index e202a68..c977c33 100644
>> --- a/kernel/cpu.c
>> +++ b/kernel/cpu.c
>> @@ -349,6 +349,8 @@ static int __cpuinit _cpu_up(unsigned int cpu, int tasks_frozen)
>> goto out_notify;
>> BUG_ON(!cpu_online(cpu));
>>
>> + cpu_set(cpu, cpu_active_map);
>> +
>> /* Now call notifier in preparation. */
>> raw_notifier_call_chain(&cpu_chain, CPU_ONLINE | mod, hcpu);
>>
>> @@ -383,9 +385,6 @@ int __cpuinit cpu_up(unsigned int cpu)
>>
>> err = _cpu_up(cpu, 0);
>>
>> - if (cpu_online(cpu))
>> - cpu_set(cpu, cpu_active_map);
>> -
>
> Ok, not only does that fix the bug, but it simplifies the code and looks
> obviously ok. However, I don't have it in my tree yet, and I'd like to do
> an -rc3 that has this fixes (so that along with the PCI MSI thing, we
> hopefully have most of the suspend/resume regressions fixed).
I actually thought it's somewhat against the original idea. It seems that we'd
be setting 'active' be a little too early. ie before all the hotplug handlers
had a chance to realize that cpu is now online.
I don't have a strong objection though.

> And I was hoping to do -rc3 today. Can I please have pull-requests for the
> appropriate urgent scheduler/x86 fixes? Or should I just take these as
> patches?
It'd be nice if -rc3 included my cpuset patch so that we could put circular
locking issues in the cpu hotplug path to the rest.
Ingo, I'm talking about this:
[PATCH] cpuset: Rework sched domains and CPU hotplug handling (take 4)

Max


Max

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/