Lines Matching refs:fence
74 struct scif_remote_fence_info *fence; in scif_recv_wait() local
81 fence = kmalloc(sizeof(*fence), GFP_KERNEL); in scif_recv_wait()
82 if (!fence) { in scif_recv_wait()
90 memcpy(&fence->msg, msg, sizeof(struct scifmsg)); in scif_recv_wait()
91 INIT_LIST_HEAD(&fence->list); in scif_recv_wait()
96 list_add_tail(&fence->list, &scif_info.fence); in scif_recv_wait()
363 struct scif_remote_fence_info *fence; in scif_rma_handle_remote_fences() local
369 list_for_each_safe(item, tmp, &scif_info.fence) { in scif_rma_handle_remote_fences()
370 fence = list_entry(item, struct scif_remote_fence_info, in scif_rma_handle_remote_fences()
373 list_del(&fence->list); in scif_rma_handle_remote_fences()
376 ep = (struct scif_endpt *)fence->msg.payload[0]; in scif_rma_handle_remote_fences()
377 mark = fence->msg.payload[2]; in scif_rma_handle_remote_fences()
380 fence->msg.uop = SCIF_WAIT_NACK; in scif_rma_handle_remote_fences()
382 fence->msg.uop = SCIF_WAIT_ACK; in scif_rma_handle_remote_fences()
383 fence->msg.payload[0] = ep->remote_ep; in scif_rma_handle_remote_fences()
384 scif_nodeqp_send(ep->remote_dev, &fence->msg); in scif_rma_handle_remote_fences()
385 kfree(fence); in scif_rma_handle_remote_fences()