Xorg input thread (2)

Jesse Barnes jbarnes at virtuousgeek.org
Mon Jul 9 08:13:50 PDT 2007

On Saturday, July 7, 2007 11:23:49 pm Tiago Vignatti wrote:
> Jesse Barnes escreveu:
> > Well, the curious thing was what Tiago said:
> >> with or without the input thread when I mlock some mice
> >> functions I obtained an unbelievable smooth movement
> >
> > Which would imply that when SIGIOs are sent, the process is woken up and
> > can process things just fine, even if other pages are still coming in
> > from disk (I didn't think this was possible, I'd have to poke around the
> > kernel).
> Just to be clear, the current input thread is not using SIGIO. It's only
> using a poll(2) to monitor the device's sockets.
> And Jesse, to be fair, I just tried a little with mlock. I spent more
> time  with mlockall (which is much easier to play than mlock) seeing
> whether the cursor lags or not. My little results with mlockall
> demonstrates that we can obtain a smooth mouse only increasing 3MB of
> "always resident memory".

Ah, ok that explains it (saw your last mail about this too, the experiments 
looked good, though I'm surprised how much memory pthreads libraries use).  

> a. Initially I think that you had discarded mlock. But now I'll invest
> time on this and come with more exactly values of experimentation.

Yeah, if we can get it down to a very small amount of mlocked memory, it may 
be a viable solution.

> b. try to investigate a little the DRM/DRI things towards something like
> the Ultrix systems which Keith talked. Keith, could you point where can
> we find that old Ultrix code which you mentioned?

Sounds like you'll be mostly on your own here, but for hardware cursors, it 
sounds like you'd mainly have to code up:
  - code for a specific DRM driver to update the cursor registers (you can
    probably take this from the DDX driver)
  - new DRM ioctl for cursor warp
  - new DDX code to call into DRM for cursor setup
  - DRM code for handling acceleration
  - kernel input layer changes to notify DRM when mouse movement occurs
  - new kernel API to tie together DRM devices and input devices
  - new cursor transform APIs
I'm probably missing a few items here, but I'm sure they'd become clear once 
you started trying to make it work. :)


More information about the xorg mailing list