Regression in 2.6.27-rc1 for set_cpus_allowed_ptr

From: Langsdorf, Mark
Date: Fri Aug 08 2008 - 15:44:22 EST


One of my co-workers noticed that the powernow-k8
driver no longer restarts when a CPU core is
hot-disabled and then hot-enabled on AMD quad-core
systems.

The following comands work fine on 2.6.26 and fail
on 2.6.27-rc1:

echo 0 > /sys/devices/system/cpu/cpu3/online
echo 1 > /sys/devices/system/cpu/cpu3/online
find /sys -name cpufreq

For 2.6.26, the find will return a cpufreq
directory for each processor. In 2.6.27-rc1,
the cpu3 directory is missing.

After digging through the code, the following
logic is failing when the core is hot-enabled
at runtime. The code works during the boot
sequence.

cpumask_t = current->cpus_allowed;
set_cpus_allowed_ptr(current, &cpumask_of_cpu(cpu));
if (smp_processor_id() != cpu)
return -ENODEV;

The objective is to move to the specific CPU and
test it's MSRs to see if it is supported. For
some reason, it isn't working. Any suggestions
on how to fix this are appreciated.

-Mark Langdsorf
Operating System Research Center
AMD

--
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/