vhost-net: cleanup macros for DMA status tracking
Better document macros for DMA tracking. Add an explicit one for DMA in progress instead of relying on user supplying len != 1. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									149d36f718
								
							
						
					
					
						commit
						70e4cb9aaf
					
				| @ -237,7 +237,8 @@ static void handle_tx(struct vhost_net *net) | ||||
| 			} else { | ||||
| 				struct ubuf_info *ubuf = &vq->ubuf_info[head]; | ||||
| 
 | ||||
| 				vq->heads[vq->upend_idx].len = len; | ||||
| 				vq->heads[vq->upend_idx].len = | ||||
| 					VHOST_DMA_IN_PROGRESS; | ||||
| 				ubuf->callback = vhost_zerocopy_callback; | ||||
| 				ubuf->ctx = vq->ubufs; | ||||
| 				ubuf->desc = vq->upend_idx; | ||||
|  | ||||
| @ -1606,7 +1606,7 @@ void vhost_zerocopy_callback(struct ubuf_info *ubuf, bool status) | ||||
| 	struct vhost_virtqueue *vq = ubufs->vq; | ||||
| 
 | ||||
| 	vhost_poll_queue(&vq->poll); | ||||
| 	/* set len = 1 to mark this desc buffers done DMA */ | ||||
| 	/* set len to mark this desc buffers done DMA */ | ||||
| 	vq->heads[ubuf->desc].len = VHOST_DMA_DONE_LEN; | ||||
| 	kref_put(&ubufs->kref, vhost_zerocopy_done_signal); | ||||
| } | ||||
|  | ||||
| @ -13,9 +13,15 @@ | ||||
| #include <linux/virtio_ring.h> | ||||
| #include <linux/atomic.h> | ||||
| 
 | ||||
| /* This is for zerocopy, used buffer len is set to 1 when lower device DMA
 | ||||
|  * done */ | ||||
| #define VHOST_DMA_DONE_LEN	1 | ||||
| /*
 | ||||
|  * For transmit, used buffer len is unused; we override it to track buffer | ||||
|  * status internally; used for zerocopy tx only. | ||||
|  */ | ||||
| /* Lower device DMA done */ | ||||
| #define VHOST_DMA_DONE_LEN	2 | ||||
| /* Lower device DMA in progress */ | ||||
| #define VHOST_DMA_IN_PROGRESS	1 | ||||
| /* Buffer unused */ | ||||
| #define VHOST_DMA_CLEAR_LEN	0 | ||||
| 
 | ||||
| struct vhost_device; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user