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...