DMA to/from user buffers
William Waddington
csbwaddington en worldnet.att.net
Mar Ene 25 05:49:04 CST 2000
Hello,
I think I finally understand that fa.linux.kernel is a read-only shadow
of this list. Of course, it is possible that my post there went
unanswered because it was an inappropriate post, or old news, or maybe
just dumb news. This subject falls somewhere between drivers and
kernel, but fiddling with page tables probably puts it in the kernel
camp (please advise). It is another question entirely, whether someone
who has been posting to a read-only NG deserves to be read at
all........
I do hardware design and driver writing for a small company that builds
interfaces to large format/high speed plotters and DR11-W devices. I
have ported drivers to 2.0.x and 2.2.x ( thank you Mr. Rubini) from
Solaris and HPUX.
The drivers use a read/write interface, and the boards can do
scatter-gather DMA. With Solaris and HPUX, I can pin and map user
buffers for DMA. With Linux, I am resorting to copying to a kernel
buffer. At the plotter's data rates, it isn't a big performance hit,
but it is not optimum. The DR11s cause a bigger hit ~10MB/Sec. It also
seems less than perfect to reserve kernel memory for the life of the
driver (usually from system on to power failure).
I understand that Mr. T. doesn't want drivers walking the page tables,
and prefers kernel buffers made available to applications.
Unfortunately, our customers have lots of legacy application code that
expects a read/write interface. Inclusion of physio()-like capability
would facilitate their conversion to Linux.
Any chance of Robert Kaiser's user DMA kernel patch, or something like
it, getting included in the "official" kernel? IMHO, there is
potential for improvement in performance and memory use efficiency.
Sorry for the long post, and thanks to all.
Bill
BTW ... we have always posted our (clunky) source with our (simple)
drivers.
---------------------------------------
Bill Waddington
Bainbridge Island, WA, USA
csbwaddington en worldnet.att.net
ikoncorp en worldnet.att.net
---------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
Más información sobre la lista de distribución Ayuda