[PATCH xserver 00/23] Switch server to poll/epoll
Keith Packard
keithp at keithp.com
Thu May 26 23:59:35 UTC 2016
Ok, I've reworked this patch series to try and have it make some
semblance of sense. There's two scary patches, 18/23 and 19/23;
everything else is pretty self contained.
The first patch flips to the new font API:
[PATCH xserver 01/23] dix: Switch to the libXfont2 API (v2)
Then changes to move from select(2) to poll(2) in various isolated
bits of the server:
[PATCH xserver 02/23] kdrive: switch from select(2) to poll(2)
[PATCH xserver 03/23] xfree86: Switch from select(2) to poll(2)
[PATCH xserver 04/23] dmx: Switch from select(2) to poll(2) for input
[PATCH xserver 05/23] os: Switch from select(2) to poll(2) in
Then a bunch of fixes related to the use of NotifyFd APIs:
[PATCH xserver 06/23] hw/xfree86: Use NotifyFd for other input fd
[PATCH xserver 07/23] xnest: Use SetNotifyFd to receive events
[PATCH xserver 08/23] hw/kdrive: Use passed-in fd for kdrive/linux
[PATCH xserver 09/23] modesetting: Use passed-in fd for drm event
[PATCH xserver 10/23] dmx: Eliminate use of AddEnabledDevice
And, with everyone using NotifyFd outside of OS, all of the fd_set's
visible in the API can be removed:
[PATCH xserver 11/23] Remove readmask from screen block/wakeup
[PATCH xserver 12/23] Remove fd_set from Block/Wakeup handler API
[PATCH xserver 13/23] Remove AddEnabledDevice and AddGeneralSocket
Next come a few small cleanups in the server to prepare for major
surgery ahead:
[PATCH xserver 14/23] dix/os: Merge priority computation into
[PATCH xserver 15/23] dix: Intermediate GrabServer state
[PATCH xserver 16/23] os: Compute timeout in milliseconds instead of
Here's the new interface which I've already sent out. Adam Jackson has
suggested that perhaps the edge trigger mode could be a hint instead
of a requirement. I haven't done that yet, but it seems like it might
be reasonable. Nothing is hooked to this in this patch.
[PATCH xserver 17/23] os: Add ospoll interface
Two patches which change the server to use the new ospoll bits in
WaitForSomething. All of the old select mask frobbing is gone.
[PATCH xserver 18/23] dix: Use list for ready clients
[PATCH xserver 19/23] os: Switch server to poll(2)
Next, the input thread is changed over
[PATCH xserver 20/23] os: Use poll(2) for input thread
Finally, with the server now independent of fd values, a few cleanups
[PATCH xserver 21/23] os: eliminate fd value limits for clients
[PATCH xserver 22/23] Allow 1024 and 2048 for LimitClients
[PATCH xserver 23/23] os: Leave stdin and stdout open
-keith
More information about the xorg-devel
mailing list