linux/arch/x86/kernel/cpu/cpufreq
Andrew Morton 01599fca67 cpufreq: use smp_call_function_[single|many]() in acpi-cpufreq.c
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,
due to

  commit 6b44003e5c
  Author: Andrew Morton <akpm@linux-foundation.org>
  Date:   Thu Apr 9 09:50:37 2009 -0600

      work_on_cpu(): rewrite it to create a kernel thread on demand

It seems that the kernel calls these acpi-cpufreq functions at a quite
high frequency.

Valdis Kletnieks also reports that this causes 70-90 forks per second on
his hardware.

Cc: Valdis.Kletnieks@vt.edu
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Dave Jones <davej@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Mike Galbraith <efault@gmx.de>
Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
[ Made it use smp_call_function_many() instead of looping over cpu's
  with smp_call_function_single()    - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-13 11:09:46 -07:00
..
acpi-cpufreq.c cpufreq: use smp_call_function_[single|many]() in acpi-cpufreq.c 2009-04-13 11:09:46 -07:00
cpufreq-nforce2.c [CPUFREQ] Make cpufreq-nforce2 less obnoxious 2009-02-24 22:47:32 -05:00
e_powersaver.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
elanfreq.c [CPUFREQ] checkpatch cleanups for elanfreq 2009-02-24 22:47:28 -05:00
gx-suspmod.c [CPUFREQ] checkpatch cleanups for gx-suspmod 2009-02-24 22:47:29 -05:00
Kconfig [CPUFREQ] powernow-k8: Always compile powernow-k8 driver with ACPI support 2009-02-24 22:47:31 -05:00
longhaul.c ACPI: cpufreq: remove dupilcated #include 2009-04-07 01:39:14 -04:00
longhaul.h [CPUFREQ] checkpatch cleanups for longhaul 2009-02-24 22:47:29 -05:00
longrun.c [CPUFREQ] checkpatch cleanups for longrun 2009-02-24 22:47:29 -05:00
Makefile [CPUFREQ] Change link order of x86 cpufreq modules 2009-02-24 22:47:32 -05:00
p4-clockmod.c Merge branch 'linus' into cpumask-for-linus 2009-03-30 23:53:32 +02:00
powernow-k6.c [CPUFREQ] checkpatch cleanups for powernow-k6 2009-02-24 22:47:29 -05:00
powernow-k7.c [CPUFREQ] checkpatch cleanups for powernow-k7 2009-02-24 22:47:30 -05:00
powernow-k7.h [CPUFREQ] cpufreq: remove CVS keywords 2008-05-19 18:17:49 -04:00
powernow-k8.c Merge branch 'linus' into cpumask-for-linus 2009-03-30 23:53:32 +02:00
powernow-k8.h [CPUFREQ] powernow-k8: Always compile powernow-k8 driver with ACPI support 2009-02-24 22:47:31 -05:00
sc520_freq.c [CPUFREQ] checkpatch cleanups for sc520 2009-02-24 22:47:29 -05:00
speedstep-centrino.c x86: use symbolic constants for MSR_IA32_MISC_ENABLE bits 2009-02-20 12:07:43 +01:00
speedstep-ich.c Merge branch 'linus' into cpumask-for-linus 2009-03-30 23:53:32 +02:00
speedstep-lib.c [CPUFREQ] p4-clockmod reports wrong frequency. 2009-02-24 22:47:32 -05:00
speedstep-lib.h [CPUFREQ] checkpatch cleanups for speedstep related drivers. 2009-02-24 22:47:30 -05:00
speedstep-smi.c [CPUFREQ] checkpatch cleanups for speedstep related drivers. 2009-02-24 22:47:30 -05:00