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

Linus Torvalds
2009-10-14T21:02:10Z

On Wed, 14 Oct 2009, Boyan wrote:
>
> Works for me. I couldn't reproduce the problem with only this patch on
> top of 2.6.31.4.

So just to verify: both the flush_to_ldisc() patch _and_ the
"flush_delayed_work()" one fixed the problem for you? And you tested them
independently? And you said you could reliably trigger it before?

Ok, that makes me happy, because it implies that this really is the root
cause, with two different approaches to fixing the same problem both
working independently of each other.

So if you confirm that I understand your test situation right, I will
probably commit them both: I think the flush_to_ldisc() patch is a real
locking improvement regardless of whether we then avoid calling it in a
nested manner or not, and the flush_delayed_work() thing seems to be the
right thing(tm) to do too.

Besides, even with the flush_delayed_work() thing, we're still faced with
the theory of multiple keventd threads running the flush_to_ldisc on
separate CPU's. Even though it's probably unlikely enough to never happen.

Linus