Comment 7 for bug 721389

Revision history for this message
Andy Whitcroft (apw) wrote : Re: Boot time regression 2.6.38

This is the upstream commit:

  commit 1d64b655dc083df5c5ac39945ccbbc6532903bf1
  Author: Dmitry Torokhov <email address hidden>
  Date: Wed Feb 23 08:51:28 2011 -0800

    Input: serio/gameport - use 'long' system workqueue

    Commit 8ee294cd9def0004887da7f44b80563493b0a097 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 <email address hidden>
    Acked-by: Tejun Heo <email address hidden>
    Signed-off-by: Dmitry Torokhov <email address hidden>