[Bug 377612] New: broken auto-repeat under heavy interrupt load ...
https://bugzilla.novell.com/show_bug.cgi?id=377612 Summary: broken auto-repeat under heavy interrupt load ... Product: openSUSE 11.0 Version: Factory Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: X.Org AssignedTo: sndirsch@novell.com ReportedBy: mmeeks@novell.com QAContact: xorg-maintainer-bugs@forge.provo.novell.com CC: pavel@novell.com, jkosina@novell.com Found By: --- Under heavy interrupt load auto-repeat appears to break; it's unclear why that should happen: this happened in real life with a broken scheduler, and with various people (at kernel.org), and under heavy load. If the X latency grows too much bad things happen. To reproduce simply run one of these per CPU (as root) and then start typing :-) [ lost keystrokes are fair enough, it's the auto-repeat functionality that is unfortunate ]: int main (int argc, char **argv) { volatile int i; iopl(3); while (1) { asm volatile("cli"); for (i = 0; i < 100000000; i++); asm volatile("sti"); sleep (1); } return 0; } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c1 Stefan Dirsch <sndirsch@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |mmeeks@novell.com --- Comment #1 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 08:00:40 MST --- I have different problems with this example. # gdb ./test GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-suse-linux"... (gdb) b main Breakpoint 1 at 0x40057b: file test.c, line 7. (gdb) run Starting program: /suse/sndirsch/test Breakpoint 1, main (argc=1, argv=0x7fff31d266b8) at test.c:7 warning: Source file is more recent than executable. 7 iopl(3); (gdb) n 9 asm volatile("cli"); (gdb) n Program received signal SIGSEGV, Segmentation fault. main (argc=1, argv=0x7fff31d266b8) at test.c:9 9 asm volatile("cli"); (gdb) n Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. (gdb) quit -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User jkosina@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c2 --- Comment #2 from Jiri Kosina <jkosina@novell.com> 2008-04-07 08:05:12 MST --- (In reply to comment #1 from Stefan Dirsch)
Program received signal SIGSEGV, Segmentation fault. main (argc=1, argv=0x7fff31d266b8) at test.c:9 9 asm volatile("cli"); (gdb) n
cli is of course privileged instruction. Are you running it as root? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c3 Stefan Dirsch <sndirsch@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|mmeeks@novell.com | --- Comment #3 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 08:07:57 MST --- No, did you tell me this? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User jkosina@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c4 --- Comment #4 from Jiri Kosina <jkosina@novell.com> 2008-04-07 08:08:53 MST --- Some relevant links to upstream bugzillas that are probably related http://bugzilla.kernel.org/show_bug.cgi?id=9448 https://bugs.freedesktop.org/show_bug.cgi?id=14449 Generally there might be multiple causes for broken auto-repeat, but I guess they would be solved altogether when xorg autorepeat is simply removed, and X would fully rely on the autorepeat functionality provided by kernel. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c5 Stefan Dirsch <sndirsch@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEEDINFO Info Provider| |mmeeks@novell.com --- Comment #5 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 08:16:00 MST --- Well, don't you run into more serious problems under heavy interrupt load? An autorepeat becoming more slowly than usual looks minor to me in this case. And why do you think this is wrong behaviour? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c6 --- Comment #6 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 08:24:09 MST --- Are you talking abou this issue? https://bugs.freedesktop.org/show_bug.cgi?id=14811 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User jkosina@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c7 --- Comment #7 from Jiri Kosina <jkosina@novell.com> 2008-04-07 08:32:26 MST --- (In reply to comment #5 from Stefan Dirsch)
Well, don't you run into more serious problems under heavy interrupt load?
In fact, the rest of the system seems to be working quite well.
An autorepeat becoming more slowly than usual looks minor to me in this case.
The problem is not that autorepeat is slow, but that it sometimes for some reason loses the keypress event, and repeats the key (wrongly) infinitely. This doesn't seem to happen in console, so it's not a bug in the in-kernel/in-HW autorepeat. Also, it seems that not only *HUGE* interrupt latencies cause problems, but also increasing an scheduling latency a little bit causes the xorg autorepeat misbehave. This has been recently uncovered by latency problems of group scheduler in linux kernel. It made the scheduling latencies grow for X, and that caused broken autorepeat. See http://bugzilla.kernel.org/show_bug.cgi?id=10163 (and http://bugzilla.kernel.org/show_bug.cgi?id=10012) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c8 Stefan Dirsch <sndirsch@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|mmeeks@novell.com | --- Comment #8 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 08:48:24 MST --- This looks indeed like https://bugs.freedesktop.org/show_bug.cgi?id=14811 Unfortunately nobody from the X.Org takes care about this issue at the moment. I ran into this issue myself already, but I can't with your sample program. My system just slows down and that's it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c9 --- Comment #9 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 08:59:36 MST --- Created an attachment (id=206498) --> (https://bugzilla.novell.com/attachment.cgi?id=206498) commit-37b1258.diff This patch might fix it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c10 --- Comment #10 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 09:05:16 MST --- The patch is the result of https://bugs.freedesktop.org/show_bug.cgi?id=14449 and has been committed to X.Org that way. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=377612 User sndirsch@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=377612#c11 Stefan Dirsch <sndirsch@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #11 from Stefan Dirsch <sndirsch@novell.com> 2008-04-07 10:28:32 MST --- xorg-x11-server with this patch now submitted for STABLE/Factory/Beta1. # mbuild -q shannon-sndirsch-224 xorg-x11-server: IN PROGRESS - i386: building (on zuse, ETA at 18:33) - ia64: building (on thulium-5, ETA at 18:54) - ppc: building (on lingonberry-4, ETA at 18:57) - ppc64: not started yet - s390: not started yet - s390x: not started yet - x86_64: building (on albinoni-1, ETA at 18:31) .. in case you want to give the patch a try. For now I need to assume that the patch fixes the issue, since it's not possible for me to reproduce it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com