fbcon: queue work on power efficient wq
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 24 Apr 2013 11:42:57 +0000 (17:12 +0530)
committerMark Brown <broonie@linaro.org>
Thu, 18 Jul 2013 13:31:10 +0000 (14:31 +0100)
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>
Signed-off-by: Tejun Heo <tj@kernel.org>
(cherry picked from commit a85f1a41f020bc2c97611060bcfae6f48a1db28d)
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/video/console/fbcon.c

index a92783e480e66b60755dc0dcc3052d2d75d17fe1..0d8f98c79a6c441e82149c318b298838226b0241 100644 (file)
@@ -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);
 }