No subject


Tue Sep 28 09:12:16 PDT 2010


commits applied which summarizes what was made, mostly based on the
discussions from reviewers - was much appreciated those btw:

    http://cgit.freedesktop.org/~vignatti/xserver/log/?h=inputthread-commits
    git://anongit.freedesktop.org/~vignatti/xserver[inputthread-commits]


The most important change introduced was the *compilation* as mandatory of
this new thread, so drivers can assume and benefit from it, for instance being
able now to use malloc in input event generation time. Even though, I left
option -nosilk present for systems that don't want to use the input thread,
which then relies at the old method of registering devices within the main
thread select(). SIGIO method is dead also now - code must be taken away
though.

One issue raise-up at XDS (ahhh, I had so many good time there - thanks all),
was the overhead of context switches that the thread would bring; too many
traffic between main thread and input thread happens. Then again, we had this
kind of issue with the SIGIO method, although not being in a different
process. Would be nice to hear some ways to testing and analise this.

Also, based on the previous mailing list reviews, I'm planing to improve the
all function handlings mechanisms we have currently
(RegisterBlockAndWakeupHandlers, pScreen->BlockHandler), so we can use poll()
instead. I prototyped something already, but I want to do this next; after
input thread got merged in master :)

Here's the latest version of the input event generation thread. Again, I thank
Fernando that helped me again to put it on shape: 
 
    http://cgit.freedesktop.org/~vignatti/xserver/log/?h=inputthread
    git://anongit.freedesktop.org/~vignatti/xserver[inputthread]


In two days I'm going for two weeks of vacation, so I'll AFC meanwhile.
Anyway, don't hesitate to review and comment please!


Cheers,

 configure.ac                   |   18 ++-
 dix/main.c                     |    4 +
 hw/xfree86/common/xf86Events.c |   12 +-
 hw/xfree86/common/xf86Init.c   |    6 +-
 include/Makefile.am            |    1 +
 include/inputthread.h          |   36 ++++
 include/opaque.h               |    2 +
 mi/mieq.c                      |   67 +++-----
 os/Makefile.am                 |    1 +
 os/connection.c                |    4 +
 os/inputthread.c               |  375 ++++++++++++++++++++++++++++++++++++++++
 11 files changed, 479 insertions(+), 47 deletions(-)
 create mode 100644 include/inputthread.h
 create mode 100644 os/inputthread.c



More information about the xorg-devel mailing list