> There is nothing the prevents you from pipelining the blit operations
> in user space as well and/or start doing other things while `waiting'
> for a blit operation to finish.
Jes,
The `waiting' as you put it is the precise problem, as it is a polling
operation, maybe something like
(while !(inw(gfx_base+status) & status_acceldone)
Modern graphics cards will happily generate an interrupt upon the
completion of an accelerated operation, or even a "queue empty" event when
a queue of commands has been processed. The kernel has access to
interrupts and interrupt handlers. Userspace doesn't, although maybe a
kernel interrupt -> signal userspace gateway could be set up with minimal
code.
The point is, there are certain performance enhancing operations on cards
that X, as a user process, will _never_ have access to without kernel
support.
Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu