[lkml]   [1998]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectHow to invoke burst-read on PCI mapped memory area

I have question about how can I invoke burst-read on PCI mapped memory
space. (on Linux/i386 kernel 2.0.X)

Let me explain background of this question as follows:
We are developing special network card to enable high-speed interconnet
between commodity PCs (aka Commodity PC Cluster system).
We have developped NIC, device driver, messaging systems, graphics/imaging
application run on this cluster system. To achieve high-speed/low-latency
data/messaging transfer between remote user processes, this NIC (on PCI bus)
has special feature. NIC has address translation table on itself
to enable address translation from local PCI address space into
remote node's memory transaction.
So this NIC works like remote-PCI to remote-PCI bridge.
Application program is able to access remote node's memory without any
software intervention.
To implement these, we wrote simple device driver using
remap_page_range() to map remote node's memory (through local PCI space)
to local user process's virtual memory space.

Right now, everything works fine other than performance.
PCI space is mapped as Un-Cached by default, so all read transaction to
remote memory is invoked as Single-Read (non-burst read). Of course,
this heavily impacts perfoemance.

So my question is :
* Is there any way to invoke Burst-Read transaction on PCI from CPU
on Linux/i386 kernel 2.0.X ?
* Is there any way to enable cache attribute on PCI memory space ?

Any suggestion or information is helpful for us.

Thank you in advance!!

Hiroshi Kawashima

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:44    [W:0.040 / U:6.104 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site