Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 370953
b: refs/heads/master
c: cf994e0
h: refs/heads/master
i:
  370951: dc80db2
v: v3
  • Loading branch information
Rusty Russell committed Mar 20, 2013
1 parent e998edb commit c9a9a43
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0b36f1adcb5adace6d45ca4d9a0f00860e60d012
refs/heads/master: cf994e0afae97382c0aa3cbc395805605d07a6e9
7 changes: 0 additions & 7 deletions trunk/tools/virtio/linux/virtio.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,6 @@ struct virtqueue {
const char *__MODULE_LICENSE_name = __MODULE_LICENSE_value

/* Interfaces exported by virtio_ring. */
int virtqueue_add_buf(struct virtqueue *vq,
struct scatterlist sg[],
unsigned int out_num,
unsigned int in_num,
void *data,
gfp_t gfp);

int virtqueue_add_sgs(struct virtqueue *vq,
struct scatterlist *sgs[],
unsigned int out_sgs,
Expand Down
6 changes: 3 additions & 3 deletions trunk/tools/virtio/virtio_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,9 @@ static void run_test(struct vdev_info *dev, struct vq_info *vq,
do {
if (started < bufs) {
sg_init_one(&sl, dev->buf, dev->buf_size);
r = virtqueue_add_buf(vq->vq, &sl, 1, 0,
dev->buf + started,
GFP_ATOMIC);
r = virtqueue_add_outbuf(vq->vq, &sl, 1,
dev->buf + started,
GFP_ATOMIC);
if (likely(r == 0)) {
++started;
virtqueue_kick(vq->vq);
Expand Down
22 changes: 12 additions & 10 deletions trunk/tools/virtio/vringh_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ static int parallel_test(unsigned long features,
}

if (err)
errx(1, "virtqueue_add_buf: %i", err);
errx(1, "virtqueue_add_in/outbuf: %i", err);

xfers++;
virtqueue_kick(vq);
Expand Down Expand Up @@ -431,7 +431,7 @@ int main(int argc, char *argv[])
struct virtio_device vdev;
struct virtqueue *vq;
struct vringh vrh;
struct scatterlist guest_sg[RINGSIZE];
struct scatterlist guest_sg[RINGSIZE], *sgs[2];
struct iovec host_riov[2], host_wiov[2];
struct vringh_iov riov, wiov;
struct vring_used_elem used[RINGSIZE];
Expand Down Expand Up @@ -492,12 +492,14 @@ int main(int argc, char *argv[])
sg_set_buf(&guest_sg[0], __user_addr_max - 1, 1);
sg_init_table(guest_sg+1, 1);
sg_set_buf(&guest_sg[1], __user_addr_max - 3, 2);
sgs[0] = &guest_sg[0];
sgs[1] = &guest_sg[1];

/* May allocate an indirect, so force it to allocate user addr */
__kmalloc_fake = __user_addr_min + vring_size(RINGSIZE, ALIGN);
err = virtqueue_add_buf(vq, guest_sg, 1, 1, &err, GFP_KERNEL);
err = virtqueue_add_sgs(vq, sgs, 1, 1, &err, GFP_KERNEL);
if (err)
errx(1, "virtqueue_add_buf: %i", err);
errx(1, "virtqueue_add_sgs: %i", err);
__kmalloc_fake = NULL;

/* Host retreives it. */
Expand Down Expand Up @@ -564,9 +566,9 @@ int main(int argc, char *argv[])

/* This will allocate an indirect, so force it to allocate user addr */
__kmalloc_fake = __user_addr_min + vring_size(RINGSIZE, ALIGN);
err = virtqueue_add_buf(vq, guest_sg, RINGSIZE, 0, &err, GFP_KERNEL);
err = virtqueue_add_outbuf(vq, guest_sg, RINGSIZE, &err, GFP_KERNEL);
if (err)
errx(1, "virtqueue_add_buf (large): %i", err);
errx(1, "virtqueue_add_outbuf (large): %i", err);
__kmalloc_fake = NULL;

/* Host picks it up (allocates new iov). */
Expand Down Expand Up @@ -616,9 +618,9 @@ int main(int argc, char *argv[])
sg_init_table(guest_sg, 1);
sg_set_buf(&guest_sg[0], __user_addr_max - 1, 1);
for (i = 0; i < RINGSIZE; i++) {
err = virtqueue_add_buf(vq, guest_sg, 1, 0, &err, GFP_KERNEL);
err = virtqueue_add_outbuf(vq, guest_sg, 1, &err, GFP_KERNEL);
if (err)
errx(1, "virtqueue_add_buf (multiple): %i", err);
errx(1, "virtqueue_add_outbuf (multiple): %i", err);
}

/* Now get many, and consume them all at once. */
Expand Down Expand Up @@ -664,9 +666,9 @@ int main(int argc, char *argv[])
sg_set_buf(&guest_sg[2], data + 6, 4);
sg_set_buf(&guest_sg[3], d + 3, sizeof(*d)*3);

err = virtqueue_add_buf(vq, guest_sg, 4, 0, &err, GFP_KERNEL);
err = virtqueue_add_outbuf(vq, guest_sg, 4, &err, GFP_KERNEL);
if (err)
errx(1, "virtqueue_add_buf (indirect): %i", err);
errx(1, "virtqueue_add_outbuf (indirect): %i", err);

vring_init(&vring, RINGSIZE, __user_addr_min, ALIGN);

Expand Down

0 comments on commit c9a9a43

Please sign in to comment.