search for: fill_old_rx_buff

Displaying 8 results from an estimated 8 matches for "fill_old_rx_buff".

2018 Dec 12
2
[PATCH v2 1/5] VSOCK: support fill mergeable rx buffer in guest
...add the remaining space to + * the current buffer. + */ + len += hole; + alloc_frag->offset += hole; + } + + sg_init_one(&sg, buf, len); + err = virtqueue_add_inbuf(vq, &sg, 1, buf, GFP_KERNEL); + if (err < 0) + put_page(virt_to_head_page(buf)); + + return err; +} + +static int fill_old_rx_buff(struct virtqueue *vq) { int buf_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; struct virtio_vsock_pkt *pkt; struct scatterlist hdr, buf, *sgs[2]; - struct virtqueue *vq; int ret; - vq = vsock->vqs[VSOCK_VQ_RX]; + pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); + if (!pkt) + return -ENOMEM; - do {...
2018 Dec 12
2
[PATCH v2 1/5] VSOCK: support fill mergeable rx buffer in guest
...add the remaining space to + * the current buffer. + */ + len += hole; + alloc_frag->offset += hole; + } + + sg_init_one(&sg, buf, len); + err = virtqueue_add_inbuf(vq, &sg, 1, buf, GFP_KERNEL); + if (err < 0) + put_page(virt_to_head_page(buf)); + + return err; +} + +static int fill_old_rx_buff(struct virtqueue *vq) { int buf_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; struct virtio_vsock_pkt *pkt; struct scatterlist hdr, buf, *sgs[2]; - struct virtqueue *vq; int ret; - vq = vsock->vqs[VSOCK_VQ_RX]; + pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); + if (!pkt) + return -ENOMEM; - do {...
2018 Dec 12
4
[PATCH v2 3/5] VSOCK: support receive mergeable rx buffer in guest
...>buf, pkt->len); + if (pkt->len) { + /* Currently only support a segment of memory in tx */ + BUG_ON(pkt->vec[0].iov_len != pkt->len); + sg_init_one(&buf, pkt->vec[0].iov_base, pkt->vec[0].iov_len); sgs[out_sg++] = &buf; } @@ -304,23 +306,28 @@ static int fill_old_rx_buff(struct virtqueue *vq) struct virtio_vsock_pkt *pkt; struct scatterlist hdr, buf, *sgs[2]; int ret; + void *pkt_buf; pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); if (!pkt) return -ENOMEM; - pkt->buf = kmalloc(buf_len, GFP_KERNEL); - if (!pkt->buf) { + pkt_buf = kmalloc(buf_len, GFP_...
2018 Dec 12
4
[PATCH v2 3/5] VSOCK: support receive mergeable rx buffer in guest
...>buf, pkt->len); + if (pkt->len) { + /* Currently only support a segment of memory in tx */ + BUG_ON(pkt->vec[0].iov_len != pkt->len); + sg_init_one(&buf, pkt->vec[0].iov_base, pkt->vec[0].iov_len); sgs[out_sg++] = &buf; } @@ -304,23 +306,28 @@ static int fill_old_rx_buff(struct virtqueue *vq) struct virtio_vsock_pkt *pkt; struct scatterlist hdr, buf, *sgs[2]; int ret; + void *pkt_buf; pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); if (!pkt) return -ENOMEM; - pkt->buf = kmalloc(buf_len, GFP_KERNEL); - if (!pkt->buf) { + pkt_buf = kmalloc(buf_len, GFP_...
2018 Dec 13
2
[PATCH v2 3/5] VSOCK: support receive mergeable rx buffer in guest
...urrently only support a segment of memory in tx */ >> + BUG_ON(pkt->vec[0].iov_len != pkt->len); >> + sg_init_one(&buf, pkt->vec[0].iov_base, pkt->vec[0].iov_len); >> sgs[out_sg++] = &buf; >> } >> >> @@ -304,23 +306,28 @@ static int fill_old_rx_buff(struct virtqueue *vq) >> struct virtio_vsock_pkt *pkt; >> struct scatterlist hdr, buf, *sgs[2]; >> int ret; >> + void *pkt_buf; >> >> pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); >> if (!pkt) >> return -ENOMEM; >> >> - pkt->buf...
2018 Dec 13
2
[PATCH v2 3/5] VSOCK: support receive mergeable rx buffer in guest
...urrently only support a segment of memory in tx */ >> + BUG_ON(pkt->vec[0].iov_len != pkt->len); >> + sg_init_one(&buf, pkt->vec[0].iov_base, pkt->vec[0].iov_len); >> sgs[out_sg++] = &buf; >> } >> >> @@ -304,23 +306,28 @@ static int fill_old_rx_buff(struct virtqueue *vq) >> struct virtio_vsock_pkt *pkt; >> struct scatterlist hdr, buf, *sgs[2]; >> int ret; >> + void *pkt_buf; >> >> pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); >> if (!pkt) >> return -ENOMEM; >> >> - pkt->buf...
2018 Dec 12
0
[PATCH v2 3/5] VSOCK: support receive mergeable rx buffer in guest
...gt;len) { > + /* Currently only support a segment of memory in tx */ > + BUG_ON(pkt->vec[0].iov_len != pkt->len); > + sg_init_one(&buf, pkt->vec[0].iov_base, pkt->vec[0].iov_len); > sgs[out_sg++] = &buf; > } > > @@ -304,23 +306,28 @@ static int fill_old_rx_buff(struct virtqueue *vq) > struct virtio_vsock_pkt *pkt; > struct scatterlist hdr, buf, *sgs[2]; > int ret; > + void *pkt_buf; > > pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); > if (!pkt) > return -ENOMEM; > > - pkt->buf = kmalloc(buf_len, GFP_KERNEL); >...
2018 Dec 13
0
[PATCH v2 3/5] VSOCK: support receive mergeable rx buffer in guest
...t of memory in tx */ > >> + BUG_ON(pkt->vec[0].iov_len != pkt->len); > >> + sg_init_one(&buf, pkt->vec[0].iov_base, pkt->vec[0].iov_len); > >> sgs[out_sg++] = &buf; > >> } > >> > >> @@ -304,23 +306,28 @@ static int fill_old_rx_buff(struct virtqueue *vq) > >> struct virtio_vsock_pkt *pkt; > >> struct scatterlist hdr, buf, *sgs[2]; > >> int ret; > >> + void *pkt_buf; > >> > >> pkt = kzalloc(sizeof(*pkt), GFP_KERNEL); > >> if (!pkt) > >> return...