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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mon, 12 Oct 2009, Nix wrote:
> On 12 Oct 2009, Justin P. Mattock uttered the following:
> 
> > Not sure where this stands. Right now all three machines I have seem  to be having no issues with the kayboard
> > (xserver 1.6.*) I can go and build the latest xserver(1.7) to see if I  hit something.
> [...]
> >> Bug-Entry    : http://bugzilla.kernel.org/show_bug.cgi?id=14388
> >> Subject        : keyboard under X with 2.6.31
> >> Submitter    : Frédéric L. W. Meunier <fredlwm@xxxxxxxxx>
> >> Date        : 2009-10-07 20:19 (5 days old)
> >> First-Bad-Commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e043e42bdb66885b3ac10d27a01ccb9972e2b0a3
> >> References    : http://marc.info/?l=linux-kernel&m=125494753228217&w=4
> 
> I have been seeing problems precisely like those described (sometimes
> the keyboard dies, sometimes it gets 'stuck' with a key held down, until
> I switch TTYs, which generally means killing X as I'm not aware of an
> easy way to switch VTs using only the mouse), since I moved to 2.6.31

The particular commit that was bisected to should really not matter for X, 
except perhaps from a timing standpoint.

The problem it fixed was in pty's, and X doesn't use them much if at all 
(various X _programs_ may, of course, but the symptoms don't sound like 
it's just a particular X app that has issues, but more of a generic X 
keyboard handling thing)

But for non-pty's, there should be no semantic changes from that commit 
outside of some general tty timing differences by doing that 
tty_flush_to_ldisc() at new points.

I could fairly easily imagine that some timing difference does expose 
another longer-standing problem in either the kernel or X itself. So the 
bisection isn't necessarily wrong, it's just not likely telling us what 
the real problem is.

Of course, maybe there is some race condition in the tty_buffer.c code. We 
_used_ to not call flush_to_ldisc() except through the workqueue code, so 
races would not be seen in normal circumstances. Now that flush_to_ldisc() 
could easily get called both synchronously from tty_read()/tty_poll(), 
while also being hit from the workqueues.

Alan, Ogawa-san, do either of you see some problem in tty_buffer.c, 
perhaps?

		Linus


--
To unsubscribe from this list: send the line "unsubscribe kernel-testers" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux