Re: [Bug #14388] keyboard under X with 2.6.31

David Miller
2009-10-14T21:51:39Z

From: Alan Cox <alan@lxorguk.ukuu.org.uk>
Date: Wed, 14 Oct 2009 22:16:33 +0100

>> Assuming that we should not check all CPUs. And in this case perhaps we can
>> even do something like
>>
>> if (!delayed_work_pending() &&
>> get_wq_data()->current_work != dwork)
>> return;
>>
>> but this needs barriers, and run_workqueue() needs mb__before_clear_bit().
>
> Linus correctly said that we got into the mess because the locking was
> too clever before. At this point the mutex approach seems to be rather
> preferable to the other approaches which are at least as "clever" as the
> current locking

FWIW I've been seeing behavior that is almost certainly caused by this
bug for a while, I lose 'control' or 'shift' key-down events and this
is entirely independent of keyboard attached (i've tried several) and
seems to only happen on an SMP box.

It's most accutely annoying if it triggers while playing quake3 :-)