[openib-general] [ANNOUNCE] GSI Implementation Candidate

Roland Dreier roland at topspin.com
Mon Aug 2 08:39:32 PDT 2004


    Grant> How does that work on ia64?  I think I'm being confused by
    Grant> "all of lowmem" when maybe only kernel bits are meant. Is
    Grant> that right?

    Grant> To be clear, we only want to call DMA mapping services for
    Grant> pages that are pinned (can't be swapped out). I'm pretty
    Grant> sure (Roland) you know that already though.

Right now what we do is a little ugly.  But we tell the HCA to create
a memory region covering memory from address 0 up to (high_memory-PAGE_OFFSET)
where address 0 is translated to address 0 (ie the identity mapping).

This works OK on the vast majority of systems but will break if we
encounter systems with physical memory starting somewhere other than
0, discontiguous memory, a crazy PCI mapping that uses some other
range of addresses, etc...

In any case, yes you are right, the pci_map call should be on DMA-able
memory (kmalloced memory or the like).

Once we have the basic verbs API all squared away, I would like to add
an extension to get an L_Key with translation turned off.  This is
almost like 'default L_Key' from the verbs extensions, but Tavor will
require a protection domain as well.  This will let the HCA use any
address returned from pci_map_xxx().

 - Roland




More information about the general mailing list