Re: [PATCH xserver 0/6] Use a thread for input

2015-12-09 Thread Mark Kettenis
> From: Keith Packard 
> Date: Tue,  8 Dec 2015 15:44:48 -0800
> 
> Here's a series which revives Tiago's ancient threaded input
> patch. This has been cleaned up to make sure that it does locking
> correctly, and then patches for xf86 and kdrive/fbdev hook the code to
> a couple of X servers to show how it should work.

Most of my objections to this Tiago's patch still apply.  Threads
severely impact debuggability and this needs a full audit of all the
drivers; not just the server.
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver 0/6] Use a thread for input

2015-12-09 Thread Keith Packard
Mark Kettenis  writes:

> Most of my objections to this Tiago's patch still apply.  Threads
> severely impact debuggability and this needs a full audit of all the
> drivers; not just the server.

I added the change which makes -dumbSched disable input threading to
ease debugging, although I haven't had any issues debugging
multithreaded code in a long time.

As for the driver audit, the only ones which need review are the few
active input drivers which weren't allowing SIGIO-based event processing
(libinput and keyboard). Not much to audit in either of those,
fortunately. Given that evdev already allowed SIGIO handling for all
devices, I think we've got good coverage for the X server itself.

Output drivers haven't always had to support sprite position changes at
SIGIO time, so they're all ready for this change.

The reason for this change is that libinput isn't willing to tolerate
reading events at SIGIO time as that means not being able to use most of
libc. In the process of doing this work, I uncovered numerous existing
places which were calling inappropriate libc functions from the SIGIO
context; this change will fix those as well as allowing us to eliminate
kludges working around this limitation.

-- 
-keith


signature.asc
Description: PGP signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver 0/6] Use a thread for input

2015-12-08 Thread Keith Packard
Keith Packard  writes:

> Here's a series which revives Tiago's ancient threaded input
> patch.

I've spent some time debugging and cleaning this up further; I found a
couple of deadlocks, and then I also fixed mieqEnqueue to resize the
input event queue when it gets full, rather than dropping events on the
floor.

I also split out the removal of the SIGIO code from xf86 so that DRI1
can continue to 'work' if we like; simply not pulling the two patches
involved will leave it all in place while still eliminating the use of
SIGIO for input handling.

I've pushed this to

git://people.freedesktop.org/~keithp/xserver.git input-thread

I've also rebased my remaining eliminate_fd_set patches on top of this
series:

git://people.freedesktop.org/~keithp/xserver.git eliminate_fd_set

This series now eliminates AddEnabledDevice and AddGeneralSocket from
the OS API so that we'll catch drivers using these in ways that won't
work anymore. I still need to do a libXfont release at some point.

I can send patches to the list if people like.

-- 
-keith


signature.asc
Description: PGP signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel