[ofa-general] 4GB physical memory limit on Chelsio
pandit ib
ranjit.pandit.ib at gmail.com
Mon Jul 6 19:32:14 PDT 2009
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
More information about the general
mailing list