[openib-general] [PATCH v2 1/7] IB/core - Add DMA mapping functions to allow device drivers to interpose

Or Gerlitz ogerlitz at voltaire.com
Wed Dec 6 00:03:40 PST 2006


Ralph Campbell wrote:
> On Tue, 2006-12-05 at 23:09 +0200, Or Gerlitz wrote:
>> The most notable miss to me is dma_alloc/free_coherent, please note
>> that an IB consumer can call dma_alloc_coherent and place the resulted
>> dma_addr_t within an SGE provided to ibv_post_send/recv, see the RDS
>> code doing the allocation at ib_cm.c :: rds_ib_setup_qp and the direct
>> usage of the dma_addr_t at ib_recv :: rds_ib_recv_init_ring under
>> under http://oss.oracle.com/projects/rds/src/trunk/linux/net/rds
> 
> This looks like a very different version of RDS from what was
> in SVN a month ago.  The SVN version didn't call alloc_dma_coherent().

Two comments: a) the SVN kernel IB code is not something you should look 
on, its unmaintained b) the SVN RDS code is the 2nd generation RDS code 
and is a dead one, RDS is now developed within Oracle Linux group and 
the code is what found under the oss.oracle.com pointer above.

>> Also I see in struct dma_mapping_ops also something called
>> dma_map_simple not sure what it does and who can use it.

> I don't see anything with "simple" in the name.
> There is one call to dma_map_single() in the inline function
> for ib_dma_map_single() if the ib_device.dma_ops is NULL.

I was looking in include/asm-x86_64/dma-mapping.h and there was this 
map_simple prototype... anyway forget about it.

Or.





More information about the general mailing list