1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Threaded Input Events On The Way For X Server 1.10

X.Org

Published on 23 August 2010 04:43 PM EDT
Written by Michael Larabel in X.Org
10 Comments

While X.Org Servger 1.9 was released less than a week ago (heck, it's only been four days since releasing om time), the first interesting patch for X.Org Server 1.10 is already queued up and on the X.Org development mailing list for discussion. This patch, which was written by Tiago Vignatti and Fernando Carrijo, provides the "thread-ification" of the X Server input event generation code. Rather than being bound to the same thread as the X Server, the input event code with this patch is now running in its own thread, but this may only be the start of things to come with finally multi-threading the X.Org Server.

Nokia's Tiago Vignatti originally mentioned his and Fernando's threaded input work on the X.Org mailing list earlier this month during another input-related discussion and mentioned their input thread branch of the X Server where their work was happening. Though in terms of moving the input event generation to its own thread, this isn't being done for performance reasons but rather to better the code by avoiding the use of SIGIO/SIGPOLL with signal handling. This threading work is being targeted at X Servers running on Linux, but it may end up benefiting other platforms too. More interesting, Tiago looks at this initial input work as "opening space to other thread works" like moving X rendering or other tasks to an independent thread as well. Basically there would be one thread for dispatch and the core object model, one thread for input, and another thread for the GPU. Threading the X Server is something that has interested Tiago since at least 2008 when he talked about it. There was also an effort to multi-thread the X11R6 Server more than a decade ago, but those attempts had failed.

The current X input event generation thread patches can be found in this mailing list. The patch right now is actually only a few hundred lines of code to implement, but more threading work will hopefully come for other areas of the X Server if other developers provide positive feedback. This patch at least should be in X.Org Server 1.10 and for now can be enabled by configuring the xorg-server build process with a new --enable-input-thread build option. Another major change that may also happen with the xorg-server 1.10 release is moving the drivers back into the X Server, but that's a heated issue and something that's to be talked about next month at the 2010 X Developers' Summit in Toulouse, which we will providing coverage.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. There's New In-Fighting Over The Future Of Compiz
  2. GTK+ Inspector Gains More Features Ahead Of GNOME 3.16
  3. Clang 3.6 Will Hopefully Have OpenMP Support
  4. A Go Front-End Could Soon Be Landing In LLVM
  5. Linux 3.18-rc6 Released, A Worrisome Regression Remains
  6. HandBrake 0.10 Brings H.265 & VP8 Encoders
  7. Gngr: A New Web Browser Focused On Privacy
  8. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  9. More File-System Tests Of The Linux 3.18 Kernel
  10. Using NVIDIA's NVENC On Linux With FFmpeg
Latest Forum Discussions
  1. how to configure module phoromatic ?
  2. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  3. Debian Developer Resigns From The Systemd Maintainership Team
  4. Roadmap to Catalyst 14.10 ?
  5. Updated and Optimized Ubuntu Free Graphics Drivers
  6. Cant get working Kaveri APU - A10-7850k
  7. Script for Fan Speed Control
  8. Debian Init System Coupling Vote Results