vhost: move -net specific code out
Zerocopy handling code is vhost-net specific. Move it from vhost.c/vhost.h out to net.c Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
c4fcb586c3
commit
b211616d71
@@ -7,27 +7,11 @@
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/poll.h>
|
||||
#include <linux/file.h>
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/uio.h>
|
||||
#include <linux/virtio_config.h>
|
||||
#include <linux/virtio_ring.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
/*
|
||||
* For transmit, used buffer len is unused; we override it to track buffer
|
||||
* status internally; used for zerocopy tx only.
|
||||
*/
|
||||
/* Lower device DMA failed */
|
||||
#define VHOST_DMA_FAILED_LEN 3
|
||||
/* 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
|
||||
|
||||
#define VHOST_DMA_IS_DONE(len) ((len) >= VHOST_DMA_DONE_LEN)
|
||||
|
||||
struct vhost_device;
|
||||
|
||||
struct vhost_work;
|
||||
@@ -80,6 +64,8 @@ struct vhost_ubuf_ref *vhost_ubuf_alloc(struct vhost_virtqueue *, bool zcopy);
|
||||
void vhost_ubuf_put(struct vhost_ubuf_ref *);
|
||||
void vhost_ubuf_put_and_wait(struct vhost_ubuf_ref *);
|
||||
|
||||
struct ubuf_info;
|
||||
|
||||
/* The virtqueue structure describes a queue attached to a device. */
|
||||
struct vhost_virtqueue {
|
||||
struct vhost_dev *dev;
|
||||
@@ -177,6 +163,7 @@ long vhost_dev_init(struct vhost_dev *, struct vhost_virtqueue *vqs, int nvqs);
|
||||
long vhost_dev_check_owner(struct vhost_dev *);
|
||||
long vhost_dev_reset_owner(struct vhost_dev *);
|
||||
void vhost_dev_cleanup(struct vhost_dev *, bool locked);
|
||||
void vhost_dev_stop(struct vhost_dev *);
|
||||
long vhost_dev_ioctl(struct vhost_dev *, unsigned int ioctl, unsigned long arg);
|
||||
int vhost_vq_access_ok(struct vhost_virtqueue *vq);
|
||||
int vhost_log_access_ok(struct vhost_dev *);
|
||||
@@ -201,8 +188,6 @@ bool vhost_enable_notify(struct vhost_dev *, struct vhost_virtqueue *);
|
||||
|
||||
int vhost_log_write(struct vhost_virtqueue *vq, struct vhost_log *log,
|
||||
unsigned int log_num, u64 len);
|
||||
void vhost_zerocopy_callback(struct ubuf_info *, bool);
|
||||
int vhost_zerocopy_signal_used(struct vhost_virtqueue *vq);
|
||||
|
||||
#define vq_err(vq, fmt, ...) do { \
|
||||
pr_debug(pr_fmt(fmt), ##__VA_ARGS__); \
|
||||
|
Reference in New Issue
Block a user