> > * Linus Torvalds <torvalds@linux-foundation.org> wrote:> > > So I do think Andrew's commit is broken and we should think about > > it a bit more, but I also think that Valdis' problem comes from > > acpi-cpufreq just being damn stupid. Doing a > > smp_call_function_single() to read two MSR's is going to be a > > _lot_ more efficient than doing that crazy work_on_cpu() for that.> > > > So the _real_ problem came through the commits like> > > > cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write> > cpumask: use work_on_cpu in acpi-cpufreq.c for read_measured_perf_ctrs> > > > that were meant to reduce stack usage with big cpu masks. And > > sure, the _old_ way of doing it was also stupid (it rescheduled > > the process to the other CPU by using cpus_allowed()).> > > > Mike, Ingo?> > I think Andrew has a stack of fixes queued up, one of which should > solve this problem too - which Mike tested - as the commit from > Andrew has caused another regression as well.> > There's no sha1 - the patch is in this thread on lkml:> > sysbench(oltp)+mysql 10% regression with 2.6.30-rc1> > | From: Andrew Morton <akpm@linux-foundation.org>> |> | Atttempting to rid us of the problematic work_on_cpu(). Just use> | smp_call_fuction_single() here.> |> | This repairs a 10% sysbench(oltp)+mysql regression which Mike > | reported,>

Yup. It's presently in Len's hands. And Rusty's.

Vladis, perhaps you can verify?

From: Andrew Morton <akpm@linux-foundation.org>

Atttempting to rid us of the problematic work_on_cpu(). Just usesmp_call_fuction_single() here.

This repairs a 10% sysbench(oltp)+mysql regression which Mike reported,due to