Re: mmotm 2009-04-10-02-21 uploaded - forkbombed by work_for_cpu

From: Ingo Molnar
Date: Mon Apr 13 2009 - 13:19:47 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxx>
|
| 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
--
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/