uDAPL Problem : [WasRe: [openib-general] OpenSM crash with today's trunk
Aniruddha Bohra
bohra at cs.rutgers.edu
Fri Oct 28 15:00:58 PDT 2005
Roland Dreier wrote:
> > OK so, what options do I have right now -- compile a new kernel and
> > apply patches and
> > continue, or is there some patch that I can apply ?
>
>I don't think anyone has prepared a kzalloc() patch, but just adding
>something like
>
> static void *kzalloc(size_t size, unsigned int flags)
> {
> void *ret = kmalloc(size, flags);
> if (ret)
> memset(ret, 0, size);
> return ret;
> }
>
>to files that use kzalloc() should let you use 2.6.13 (assuming there
>are no other incompatibilities).
>
>
>
Thanks, that works.
Now, I have a problem with udapl :
The following is a code snippet from :
dapl_ib_dto.h
for (i = 0; i < segments; i++ ) {
if ( !local_iov[i].segment_length )
continue;
ds_array_p->addr = (uint64_t) local_iov[i].virtual_address;
ds_array_p->length = local_iov[i].segment_length;
ds_array_p->lkey = local_iov[i].lmr_context;
dapl_dbg_log ( DAPL_DBG_TYPE_EP,
" post_snd: lkey 0x%x va %p len %d \n",
ds_array_p->lkey, ds_array_p->addr,
ds_array_p->length );
total_len += ds_array_p->length;
wr.num_sge++;
ds_array_p++;
}
The following is the relevant part of the log with DAPL_DBG_TYPE=0xffff
dapl_ep_post_send (0x8087110, 2, 0x80f9910, %P, b5f395bc)^M
post_snd: ep 0x8087110 op 2 ck 0x8087374 sgs 2 l_iov 0x80f9910 r_iov
0xbfc29060 f 0^M
post_snd: ep 0x8087110 cookie 0x8087374 segs 2 l_iov 0x80f9910^M
post_snd: lkey 0x10de003b va 0xb5f3976c len 0 ^M
post_snd: lkey 0x10de003b va 0xb5f39924 len 0 ^M
^^^^^^^^
From the above loop, how is this possible :
If local_iov[i].segment_length == 0, it should not be printed. And the
if the assignment is successful, len must not be 0.
Any ideas? Of course following this, the ep is disconnected in the next
step :(
Also a minor patch, you can see that %P is printed as %P and not used as
a format character.
Index: common/dapl_ep_post_rdma_write.c
===================================================================
--- common/dapl_ep_post_rdma_write.c (revision 3892)
+++ common/dapl_ep_post_rdma_write.c (working copy)
@@ -78,7 +78,7 @@
DAT_RETURN dat_status;
dapl_dbg_log (DAPL_DBG_TYPE_API,
- "dapl_ep_post_rdma_write (%p, %d, %p, %P, %p, %x)\n",
+ "dapl_ep_post_rdma_write (%p, %d, %p, %p, %p, %x)\n",
ep_handle,
num_segments,
local_iov,
Index: common/dapl_ep_post_send.c
===================================================================
--- common/dapl_ep_post_send.c (revision 3892)
+++ common/dapl_ep_post_send.c (working copy)
@@ -75,7 +75,7 @@
DAT_RETURN dat_status;
dapl_dbg_log (DAPL_DBG_TYPE_API,
- "dapl_ep_post_send (%p, %d, %p, %P, %x)\n",
+ "dapl_ep_post_send (%p, %d, %p, %p, %x)\n",
ep_handle,
num_segments,
local_iov,
Index: common/dapl_srq_post_recv.c
===================================================================
--- common/dapl_srq_post_recv.c (revision 3892)
+++ common/dapl_srq_post_recv.c (working copy)
@@ -79,7 +79,7 @@
DAT_RETURN dat_status;
dapl_dbg_log (DAPL_DBG_TYPE_API,
- "dapl_srq_post_recv (%p, %d, %p, %P)\n",
+ "dapl_srq_post_recv (%p, %d, %p, %p)\n",
srq_handle,
num_segments,
local_iov,
Index: common/dapl_ep_post_recv.c
===================================================================
--- common/dapl_ep_post_recv.c (revision 3892)
+++ common/dapl_ep_post_recv.c (working copy)
@@ -79,7 +79,7 @@
DAT_RETURN dat_status;
dapl_dbg_log (DAPL_DBG_TYPE_API,
- "dapl_ep_post_recv (%p, %d, %p, %P, %x)\n",
+ "dapl_ep_post_recv (%p, %d, %p, %p, %x)\n",
ep_handle,
num_segments,
local_iov,
Thanks
Aniruddha
More information about the general
mailing list