hi and thanks! here is a batch that should do what you suggested. >>/ diff --unified --recursive --new-file linux-2.6.7-rc3/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c linux-2.6.7-rc3.speedstep/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c >/>/ --- linux-2.6.7-rc3/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c 2004-06-09 22:27:18.000000000 +0000 >/>/ +++ linux-2.6.7-rc3.speedstep/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c 2004-06-10 00:29:54.388186856 +0000 >/>/ @@ -70,6 +70,7 @@ >/>/ * @notify: whether to call cpufreq_notify_transition for CPU speed changes >/>/ * >/>/ * Tries to change the SpeedStep state. >/>/ + * Note: notify is a dummy argument. The routine never notifies. >/ >Maybe it's better to kill notify, and modify a little speedstep-smi and speedstep-lib done >Dominik, your though, please? > >... > >>/ + >/>/ + for_each_cpu(i) { >/>/ + if (cpu_isset(i, affected_cpu_map)) { >/>/ + freqs.cpu = i; >/>/ + cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); >/>/ + } >/>/ + } >/ >What about > for_each_cpu_mask(i, affected_cpu_map) { > ... > } >instead? thanks, done >>/ >/>/ /* detect low and high frequency */ >/>/ result = speedstep_get_freqs(speedstep_processor, >/>/ @@ -297,6 +337,9 @@ >/>/ if (!speed) >/>/ return -EIO; >/>/ >/>/ + /* allow to run on any CPU */ >/>/ + set_cpus_allowed(current, cpus_allowed); >/>/ + >/ >Something wrong. I mean, there is a return but the set_cpu_allowed() >is done after... this was a nasty one and i screwed up in 2 other places before. thanks alot! chris