Re: Linux and real device drivers

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 22 Sep 1999 11:07:08 +0100 (BST)


> > pre-fetching, write-back caching, nobody said all PCI writes have to
> > be synchronous. No I don't really care about I/O port access.
>
> Are you kidding? Do you really want to use that on device's registers ?

Thats how modern PCI cards work. It isnt as horrying as it sounds. the
store buffer on PCI is ordered and reads don't occur until the store
buffer is emptied - so ordering is preserved.

If you look at something like I2O you will see that the whole setup is
geared to posting. You post requests to the card, it posts replies to your
memory. The only stall is getting a new message to fill.

On the memory side you take a cache miss from the DMA from the card but
on an AMD Athlon you can even prefetch that.

> Note that this is unconditional branch, and if the branch target address
> is computed sufficiently ahead of the branch instruction there will be
> no penalty.

There is the jump/return overhead. There is the stack management overhead
There is an extra cache line touched.

> > documentation on the IA64 to see what we might expect from the future,
> > branches are expensive.
>
> Have Intel released docs about some implementation of the architecture ?

All the basic userland stuff is released. Its very pa-risc.

Alan

-
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/