Messages in this thread | | | Date | Mon, 13 Apr 2009 19:18:53 +0200 | From | Ingo Molnar <> | Subject | Re: mmotm 2009-04-10-02-21 uploaded - forkbombed by work_for_cpu |
| |
* 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,
Ingo
| |