Subject: Re: Put big hunks of the Xserver in the kernel?
To: None <is@Beverly.Rhein.DE>
From: Eduardo E. Horvath eeh@btr.com <eeh@btr.btr.com>
List: current-users
Date: 01/28/1996 15:11:09
On Fri, 26 Jan 1996 is@Beverly.Rhein.DE wrote:

> There is also an performance issue: you don't want to have, say, one syscall
> overhead for each blitter call, if the blitter is fast. We've had the same
> discussion for the Amiga X servers. While, in principle, there are
> ioctls defined (but not implemented) for sprite cursor use and blitting,
> none of the graphics drivers cares to implement them.

As you say, it depends on the speed of the blitter.  If you can issue 
syscalls fast enough to keep an in-kernel blit queue full, then a blit 
syscall is a win.  Otherwise you spend a significant amount of CPU that 
could be put to better time polling for blitter completions.  

On the Amiga, there are three very good reasons unlikely to apply to other
achitectues to have the CC blitter run only by the kernel.  First, I have
been able to keep the blit queue fed with a test program.  A real X
server, however, may spend more time computing between each blit and not
waste time in busywaits.  Secondly, the floppy driver could probably make
good use of the blitter itself.  Finally, since the blitter, audio, 
floppy, and display control registers are all located on the same chip, a 
mis-behaving X server can toast the system very badly.

Eduardo