Message ID | 89924f001e3ddd66ab41a16500569a976ea846fd.1366803121.git.viresh.kumar@linaro.org |
---|---|
State | Accepted |
Headers | show |
On Wed, Apr 24, 2013 at 05:12:57PM +0530, Viresh Kumar wrote: > fbcon uses workqueues and it has no real dependency of scheduling these on the > cpu which scheduled them. > > On a idle system, it is observed that and idle cpu wakes up many times just to > service this work. It would be better if we can schedule it on a cpu which the > scheduler believes to be the most appropriate one. > > This patch replaces system_wq with system_power_efficient_wq. > > Cc: Dave Airlie <airlied@redhat.com> > Cc: linux-fbdev@vger.kernel.org > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Dave, applied this to wq/for-3.11. Please holler if you want this to be routed differently. Thanks!
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 3cd6759..0cae83d 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -404,7 +404,7 @@ static void cursor_timer_handler(unsigned long dev_addr) struct fb_info *info = (struct fb_info *) dev_addr; struct fbcon_ops *ops = info->fbcon_par; - schedule_work(&info->queue); + queue_work(system_power_efficient_wq, &info->queue); mod_timer(&ops->cursor_timer, jiffies + HZ/5); }
fbcon uses workqueues and it has no real dependency of scheduling these on the cpu which scheduled them. On a idle system, it is observed that and idle cpu wakes up many times just to service this work. It would be better if we can schedule it on a cpu which the scheduler believes to be the most appropriate one. This patch replaces system_wq with system_power_efficient_wq. Cc: Dave Airlie <airlied@redhat.com> Cc: linux-fbdev@vger.kernel.org Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/video/console/fbcon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)