Dispatching and scheduling--basic questions

William Tracy afishionado at gmail.com
Mon Sep 15 15:32:00 PDT 2008


I have pulled the Xorg code from Git, and am trying to get oriented,
and get an idea of what I might be getting myself into. :-)

In response to Adam and Tiago's emails, I'm looking at the dispatching
and scheduling code, respectively. The most relevant file *seems* to
be xserver/dix/dispatch.c, though grep pulls up some stuff under
xserver/Xext and xserver/Xi. Any other relevant code I'm missing?

I believe it was mentioned that XCB has some examples of what the
re-written dispatch code should look like; I need to pull that down

I have to ask, though: Why does Xorg even have its own scheduler?
Unless I am completely misunderstanding its purpose, it seems like
this should be pushed off to the OS via pthread. Is this a way of
sidestepping concurrency issues by forcing everything to run in one
thread at the kernel level?

The more I look at X11, the more it looks like a second kernel in userspace. :-)

Finally, is there any good documentation that I don't know about?
There are some decent docs on Mesa and DRI if you dig a bit, but I'm
not seeing a whole lot on the server itself. I'll happily shut up and
RTFM if I can just find the "FM". :-)

Thanks for your time.

William Tracy
afishionado at gmail.com -- wtracy at calpoly.edu

"We need a special holiday to honor the countless kind souls with
unsecured networks named 'linksys'."
 -- Randall Munroe

More information about the xorg mailing list