diff options
author | Tejun Heo <tj@kernel.org> | 2012-09-18 12:48:43 -0700 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2012-10-10 03:30:49 +0100 |
commit | b15bea04d4662a3b8fdf0d039a56f753be151907 (patch) | |
tree | 496b136b34b24f163c12be2b7b60ca37bae63e7d /drivers/cpufreq/powernow-k8.c | |
parent | 2ebf56f3e471e0c5a831d74b5cdfe735523188f7 (diff) | |
download | kernel_samsung_smdk4412-b15bea04d4662a3b8fdf0d039a56f753be151907.zip kernel_samsung_smdk4412-b15bea04d4662a3b8fdf0d039a56f753be151907.tar.gz kernel_samsung_smdk4412-b15bea04d4662a3b8fdf0d039a56f753be151907.tar.bz2 |
workqueue: reimplement work_on_cpu() using system_wq
commit ed48ece27cd3d5ee0354c32bbaec0f3e1d4715c3 upstream.
The existing work_on_cpu() implementation is hugely inefficient. It
creates a new kthread, execute that single function and then let the
kthread die on each invocation.
Now that system_wq can handle concurrent executions, there's no
advantage of doing this. Reimplement work_on_cpu() using system_wq
which makes it simpler and way more efficient.
stable: While this isn't a fix in itself, it's needed to fix a
workqueue related bug in cpufreq/powernow-k8. AFAICS, this
shouldn't break other existing users.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/cpufreq/powernow-k8.c')
0 files changed, 0 insertions, 0 deletions