[ofa-general] 4GB physical memory limit on Chelsio

Steve Wise swise at opengridcomputing.com
Tue Jul 7 06:52:45 PDT 2009


pandit ib wrote:
> In iwch_provider.c, line 718, iwch_get_dma_mr() there is a comment
> which seems to indicate that the Chelsio card supports registering
> only 4GB of physical memory.
> Is that correct?
>
> Most of our systems have way greater memory. In fact, the HPC7000
> blades we are testing on has 64GB of memory.
>
> The problem we are running into is that our driver calls
> ib_get_dma_mr() to register all physical memory.
> When the driver attempts to post recv buffers it's getting -EINVAL error.
>
>   

> I traced it down to line 253 in iwch_qp.c.
>
>     if (sg_list[i].addr + ((u64) sg_list[i].length) >
>                     mhp->attr.va_fbo + ((u64) mhp->attr.len)) {
>                         PDBG("%s %d\n", __func__, __LINE__);
>                         return -EINVAL;
>                 }
>
>
> when i printed out those values I got the following:
>
> Jul  6 19:13:17 lv2 kernel: sg_list[i].addr faca80000,
> sg_list[i].length 7360  mhp->attr.va_fbo 0 mhp->attr.len 4294967295
>
> The length of the registration indeed seems to be 4GB in size.
>
> Is there a way to make it work on systems with > 4GB of physical
> memory. Is there a configuration parameter?
>
> Thanks,
> Ranjit
>   
Hey Ranjit,

Sorry, this is limitation in the current Chelsio HW (T3).

You cannot use get_dma_mr to register memory above 4GB.  It just doesn't 
work for T3.  In fact, get_dma_mr just maps dma addresses 0..4GB-1.  So 
if your system is using a iommu and mapping bus addresses above 4GB, it 
won't work at all.  Chelsio's next part will overcome this limitation.  
In the meantime, you have to use reg_phys_mr or the fast_register work 
request to register specific regions on demand.  You can see how this is 
done by investigating the NFS RDMA transport code.

Steve.

> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>   




More information about the general mailing list