Re: Thread-private mappings and graphics (was Re: Per-Processor

Chris Meadors (chris@hereintown.net)
Tue, 21 Dec 1999 10:55:42 -0500


> > The nice thing about the page fault method is
> > that it allows you to tune the size and faulting behavior of the ping and
> > pong buffers on the fly as needed. This is a wonderful way to get the
> > most out of those fifo watermark interrupts I mentioned before. If the
> > high watermark IRQ fires, your driver code is pushing the hardware fifo
> > too hard. Usually that means that userspace code is pushing the driver
> > too hard, so you can throttle back the userspace command buffer filling
> > code by faulting more often and then raise the ping/pong buffer size so
> > faults occur less often. If the low watermark IRQ fires, you are starving
> > the hardware and should fault more often unless scheduling priorities
> > prevent this or your buffer size == PAGE_SIZE.
>
> I don't see why user space cannot handle this watermarking itself, but
> you may be right.

How quickly can an interupt be received by user space and be acted on.
I don't know enough about the latency issues of user vs. kernel space.

Anyway, I wouldn't be worried about the low water mark IRQ being acted
on slowly as much as the high mark. A FIFO overflow would cause missed
commands.

Though I suppose if the firing of the watermark IRQs could be adjusted
to be sooner the latency could be compensated for, but the amount of
compensation required would vary depending on system load.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/