[Xorg] The big multiconsole nasty

John Dennis jdennis at redhat.com
Tue Jul 6 08:17:28 PDT 2004


On Tue, 2004-07-06 at 07:45, Egbert Eich wrote:
> When you are talking about kernel partition you tie yourself to a single
> OS - not necessarily a single architecture. This is what worries me a little
> bit.

What worries me and seems to be a design philosophy embedded in XFree86
is that in an attempt to be OS agnostic it implicitly declared itself
superior to the OS and attempted to supersede the OS. From my
perspective this is a fundamentally flawed model that ignores what we've
learned about the need to partition and layer responsibility in large
scale computer systems.

There are two areas in the current implementation that are prime
examples of this:

1) The XFree86 loader: One should assume the OS can dynamically load and
link modules and that the OS knows more about this than the X server. In
the past when very low level handling of object modules changed the X
Server blew up spectacularly and required surgery to very arcane pieces
of code none of which would have been necessary if the underlying system
services had been used. I might add being able run a debugger on a
running process would appear to be a novel concept ;-)

2) The PCI code: In the current implementation this code has direct
knowledge of PCI bridges and manipulates those bridges at the register
level. If a new bridge is introduced or any semantics change, or the
kernel's configuration of these bridges change things blow up really
really badly, i.e. your computer stops dead in it's tracks. Guess what?
PCI and system architecture is changing faster than the X server can
keep up with, nor should even attempt to.

I will grant you, most of these problems occurred on non-X86
architectures. As an individual who spent the better part of the last
two years trying to fix these problems so the X server didn't crash your
entire machine or roll over and die I was left scratching my head after
discovering the root cause many of these problems wondering why in heck
was the X server mucking in areas it had no business mucking with. Just
my 2 cents from someone in the trenches :-)

O.K., I feel better and I'll get off my soapbox now :-) :-)
But I really hope there are some lessons learned here as we march
forward.

-- 
John Dennis <jdennis at redhat.com>





More information about the xorg mailing list