Re: PCI DMA into USER space

From: Jes Sorensen (jes@linuxcare.com)
Date: Wed Jun 14 2000 - 22:09:48 EST


>>>>> "David" == David Hinds <dhinds@valinux.com> writes:

David> I don't quite understand all of this discussion: I think there
David> is some confusion about terminology.

Not really

David> I think of DMA as involving a "third party" DMA controller
David> which, independent of the CPU or target device, is copying data
David> between system memory and the target. For example, sound cards
David> and the floppy driver that use the 8237 DMA controller. PCI
David> devices mostly don't use DMA and I don't think most systems
David> have PCI DMA controllers. Most PCI devices either use memory
David> mapped IO, or bus mastering operations.

Well you're wrong here, DMA in the discussion involved refers to DMA
to/from bus mastering devices.

David> I don't know if there is really any speed advantage to using
David> memory mapped IO or bus mastering operations; I think the only
David> difference at the bus level is which device is the initiator of
David> the transaction. There is of course a difference in host CPU
David> utilization.

There are great speed differences in using bus mastering of data
compared to memmory mapping the PCI shared memory since CPU access to
PCI shared memory is significantly slower than to host memory. Even if
PCI is running at full theoretical blast, which it rarely is due to
transaction overhead and the fact that most PCI controllers aren't all
that great.

Jes

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



This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:33 EST