> > Could you tall me what is the best way to transfer data between a Dual
> > Port Ram on
> > a PCI board to a "mbuff" share memory.
> > Right now I use a memcpy_fromio inside a RTL interrupt routine, but I
> > wonder if
> > I can implement something more efficient.
>
> Do not use mbuff in this case: use ioremap in the kernel, and mmap /dev/mem
> in the user space.
I'm working on software which reads data from PCI device which uses the
PLX 9080 chip on the PCI card to access 2 megabytes of PCI digitizer
memory.
Using programmed I/O, I can't achieve more than about 8mb/second when the
source of data is the PCI card and the destination is main system memory.
Using the builtin PLX9080 DMA, I can achieve as high as 116mb/second. The
programmed I/O is not due to the slowness of the CPU because if I change
the source of the data to be main memory instead of the PCI card, the
speed increases well above 120mb/second on my Athlon 600mhz system.
To use the DMA option I reserved a few megabytes above Linux so I could
operate the dma functions without scatter/gather considerations that would
be necessary with kernel allocated memory. It appears to be a very
effective solution so far.
I believe most PCI boards and interface have builtin DMA ability and my
it appears that you must use it to achive anything near the 120mb/sec
limit of PCI.
C. W. Wright
--<<< We are committed to exceeding requirements >>>----->-+
C.W. Wright,[EMAIL PROTECTED], Ph:757-824-1698
http://lidar.wff.nasa.gov Fax:603-925-6886
NASA, Goddard Space Flight Center
Building N-159 Room E117, Code 972,Wallops Flight Facility
Wallops Island, Va. 23337 Telecommute phone: 410-742-7333
-------+-<-------------------------------------------------
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/