Re: User mode Virt -> Phys

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 13 Jan 1999 16:06:30 +0000 (GMT)


> Userlevel DMA is the only way to go as the IO devices increase the
> bandwidth (say, Clustering, Gigabit Ethernet, System Area networking),
> and you want to keep the overheads down (ie: avoid going into the
> kernel every so often).

Beg to differ, and differ big time.

You want to avoid the kernel for _Latency_ reasons. Bandwidth isnt the
issue since a syscall doing DMA to user space is the sme data copy rate.

Its when you get tons of small messages you want user mode hooks - things
like U-Net.

> On a PCI-SCI clustering adapter I used to work on in a previous (work)
> life, you needed to have ~1-2Kbyte DMA blocks before the DMA engine
> was worth using; otherwise just moving the data with the CPU was far
> superior.

You are priming the cache. I can well believe it. In networking I saw
bizzare artifacts like that - like where a 1500 byte packet copy into
an sk_buff if you avoided it and went direct to user space was no
different in cost.

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/