[Pvfs2-cvs] commit by pw in pvfs2/src/io/bmi/bmi_ib: ib.c
CVS commit program
cvs at parl.clemson.edu
Fri Feb 15 10:10:14 EST 2008
Update of /projects/cvsroot/pvfs2/src/io/bmi/bmi_ib
In directory parlweb1:/tmp/cvs-serv11740/src/io/bmi/bmi_ib
Modified Files:
ib.c
Log Message:
bmi_ib: cancel memcache deregister states
In BMI_ib_cancel, fix up the list of states during which memory should
be deregistered. This may avoid some assert() errors during BMI message
cancellation.
Index: ib.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/bmi/bmi_ib/ib.c,v
diff -u -p -p -u -r1.64 -r1.65
--- ib.c 10 Feb 2008 16:56:29 -0000 1.64
+++ ib.c 15 Feb 2008 15:10:14 -0000 1.65
@@ -1488,7 +1488,10 @@ BMI_ib_cancel(bmi_op_id_t id, bmi_contex
memcache_deregister(ib_device->memcache, &sq->buflist);
# if MEMCACHE_EARLY_REG
/* pin when sending rts, so also must dereg in this state */
- if (sq->state.send == SQ_WAITING_CTS)
+ if (sq->state.send == SQ_WAITING_RTS_SEND_COMPLETION ||
+ sq->state.send == SQ_WAITING_RTS_SEND_COMPLETION_GOT_CTS ||
+ sq->state.send == SQ_WAITING_CTS ||
+ sq->state.send == SQ_WAITING_DATA_SEND_COMPLETION)
memcache_deregister(ib_device->memcache, &sq->buflist);
# endif
#endif
@@ -1503,7 +1506,8 @@ BMI_ib_cancel(bmi_op_id_t id, bmi_contex
memcache_deregister(ib_device->memcache, &rq->buflist);
# if MEMCACHE_EARLY_REG
/* pin on post, dereg all these */
- if (rq->state.recv == RQ_RTS_WAITING_CTS_BUFFER)
+ if (rq->state.recv == RQ_RTS_WAITING_CTS_SEND_COMPLETION ||
+ rq->state.recv == RQ_RTS_WAITING_RTS_DONE)
memcache_deregister(ib_device->memcache, &rq->buflist);
if (rq->state.recv == RQ_WAITING_INCOMING
&& rq->buflist.tot_len > ib_device->eager_buf_payload)
More information about the Pvfs2-cvs
mailing list