Slow performance with remote X applications (java, firefox/xul, etc.)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libxcb |
Fix Released
|
High
|
|||
Debian |
Fix Released
|
Unknown
|
|||
Suse |
New
|
Undecided
|
Unassigned | ||
ia32-libs (Ubuntu) |
Fix Released
|
High
|
jgmargo | ||
Hardy |
Won't Fix
|
Undecided
|
Unassigned | ||
Intrepid |
Invalid
|
Undecided
|
Unassigned | ||
Jaunty |
Won't Fix
|
Undecided
|
Unassigned | ||
Karmic |
Fix Released
|
High
|
Colin Watson | ||
libx11 (Fedora) |
Fix Released
|
High
|
|||
libx11 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Hardy |
Invalid
|
Undecided
|
Unassigned | ||
Intrepid |
Invalid
|
Undecided
|
Unassigned | ||
Jaunty |
Invalid
|
Undecided
|
Unassigned | ||
Karmic |
Invalid
|
Undecided
|
Unassigned | ||
libxcb (Ubuntu) |
Fix Released
|
High
|
Bryce Harrington | ||
Hardy |
Won't Fix
|
Undecided
|
Unassigned | ||
Intrepid |
Invalid
|
Undecided
|
Unassigned | ||
Jaunty |
Won't Fix
|
Undecided
|
Unassigned | ||
Karmic |
Fix Released
|
High
|
Bryce Harrington |
Bug Description
With xcb every write (in _XFlush) is followed by a read (_XEventsQueued) which
is the cause of the very poor performance. The read usually returns EAGAIN
because there is nothing to be read, but it is a severe performace hit anyhow.
And why _XEvenetsQueued
returned indicating only a single file descriptor was ready is anybody's guess.
[Original Report]
I've submitted this bug as https:/
Some Java applications, such as the trial version in http://
I'm using Ubuntu Hardy 8.04.1 with LTSP5, Linux kernel 2.6.24-19-server, with 32-bit firefox and 32-bit Java-plugin. The relevant package versions are here:
firefox32 2.0.0.17
sun-java32 1.6.0.5
sun-java6-jre 6-06-0ubuntu1
ia32-libs 2.2ubuntu11
The issue does not appear to be Java-version related (it exists in 1.5 and 1.6 versions). I have not tested the very latest Java-versions though. The reason I'm reporting this as a possible XCB-related issue is that one can workaround the problem by using an X11-library that does not link to XCB.
In current Ubuntu version (Hardy), /usr/lib32/
There may be some other differences between the X11-libraries, but using XCB as an underlying implementation seems to be a major change, or is it? All other applications do not appear to have these problems, Java applications appear to be the sole source of these problems.
I'm adding two attachments that show tshark-dump of network traffic in both cases, perhaps it helps to analyze the issue. What happens there is one keypress on typingmaster Java-version, on Hardy/XCB case it takes half a minute to process one keypress and switch a screen, on Gutsy/no-XCB case it takes maybe a second.
Juha
[lspci]
00:00.0 Host bridge [0600]: VIA Technologies, Inc. VT8623 [Apollo CLE266] [1106:3123]
Subsystem: VIA Technologies, Inc. Unknown device [1106:0000]
01:00.0 VGA compatible controller [0300]: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics [1106:3122] (rev 03) (prog-if 00 [VGA controller])
Subsystem: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics [1106:3122]
Changed in ia32-libs: | |
importance: | Undecided → Low |
description: | updated |
Changed in libxcb: | |
status: | Unknown → Confirmed |
Changed in libxcb: | |
importance: | Low → High |
description: | updated |
Changed in libx11: | |
status: | Unknown → In Progress |
Changed in libxcb (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in debian: | |
status: | Unknown → New |
Changed in libxcb: | |
status: | Confirmed → Fix Released |
Changed in libxcb (Ubuntu Karmic): | |
status: | Triaged → Fix Committed |
Changed in libx11 (Ubuntu Jaunty): | |
status: | New → Invalid |
Changed in libx11 (Ubuntu Intrepid): | |
status: | New → Invalid |
Changed in libx11 (Ubuntu Hardy): | |
status: | New → Invalid |
Changed in libxcb (Ubuntu Hardy): | |
status: | New → In Progress |
Changed in libxcb (Ubuntu Intrepid): | |
status: | New → In Progress |
Changed in libxcb (Ubuntu Jaunty): | |
status: | New → In Progress |
Changed in libxcb (Ubuntu Karmic): | |
status: | Fix Committed → Fix Released |
Changed in debian: | |
status: | New → Fix Released |
Changed in ia32-libs (Ubuntu Karmic): | |
importance: | Undecided → High |
Changed in libx11 (Fedora): | |
status: | In Progress → Fix Released |
Changed in ia32-libs (Ubuntu Karmic): | |
assignee: | nobody → Colin Watson (cjwatson) |
Changed in ia32-libs (Ubuntu Jaunty): | |
status: | New → Fix Committed |
Changed in ia32-libs (Ubuntu): | |
assignee: | Colin Watson (cjwatson) → jgmargo (greg-margo) |
Changed in libxcb: | |
importance: | Unknown → High |
Changed in ia32-libs (Ubuntu Jaunty): | |
status: | Fix Committed → Won't Fix |
Changed in libxcb: | |
importance: | High → Unknown |
Changed in libxcb: | |
importance: | Unknown → High |
Changed in libxcb (Ubuntu Hardy): | |
status: | In Progress → Won't Fix |
Changed in libx11 (Fedora): | |
importance: | Unknown → High |
Created an attachment (id=19337)
tshark-dump of one keypress without XCB