]> git.baikalelectronics.ru Git - kernel.git/commit
Input: serio/gameport - use 'long' system workqueue
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 23 Feb 2011 16:51:28 +0000 (08:51 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 23 Feb 2011 16:53:07 +0000 (08:53 -0800)
commitcf424b80245e1b3a38290b3155f67ee9babb9277
treea61e2c1d368d4e1e76fc12e95092df81db0cc3ea
parent45513f530c7389221abda71a59875ed3692466ca
Input: serio/gameport - use 'long' system workqueue

Commit 1bd900def2ef124e080e683ae6da1d99a033bf0e converted serio
subsystem event handling from using a dedicated thread to using
common workqueue. Unfortunately, this regressed our boot times,
due to the fact that serio jobs take long time to execute. While
the new concurrency managed workqueue code manages long-playing
works just fine and schedules additional workers as needed, such
works wreck havoc among remaining users of flush_scheduled_work().

To solve this problem let's move serio/gameport works from system_wq
to system_long_wq which nobody tries to flush.

Reported-and-tested-by: Hernando Torque <pantherchen@versanet.de>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/gameport/gameport.c
drivers/input/serio/serio.c