All,

 

The hardware design for which I am writing a Linux driver includes XAUI,
DDR3 and is attached via a x8 PCI Express link. All this amounts to
significantly high link bandwidths and I am worried about the ability of
my driver and the OS to keep pace if I use the traditional methods of
copying data from user-space to kernel-space and then setting it up for
DMA. 

 

I have not ever used the direct I/O APIs. I understand these enable
mapping user buffers to kernel address space ( get_user_pages() ) and
the reverse - mapping kernel buffers to user address space ( mmap() ).
However, I find the explanation in Rubini hard to follow, (especially
for mmap()), and the sample drivers are slightly better.

 

Looking for some advice on what are the robust, standard zero-copy
options in Linux 2.6. Where can I get access to a good explanation of
the steps to follow. I notice that even the Documentation folder does
not have anything.

 

Very appreciative of any suggestions.

Regards,

- priya



This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.

Reply via email to