search for: op_rw

Displaying 20 results from an estimated 41 matches for "op_rw".

2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
.... /* we can send less than pkt_len bytes */ if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; /* virtio_transport_get_credit might return less than pkt_len credit */ pkt_len = virtio_transport_get_credit(vvs, pkt_len); /* Do not send zero length OP_RW pkt */ if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) return pkt_len; ... } then it queues the packet for the TX worker calling .send_pkt() [vhost_transport_send_pkt() in the vhost_transport case] The main function executed by the TX worker is vhost_transport_do_send_pkt() tha...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
.... /* we can send less than pkt_len bytes */ if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; /* virtio_transport_get_credit might return less than pkt_len credit */ pkt_len = virtio_transport_get_credit(vvs, pkt_len); /* Do not send zero length OP_RW pkt */ if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) return pkt_len; ... } then it queues the packet for the TX worker calling .send_pkt() [vhost_transport_send_pkt() in the vhost_transport case] The main function executed by the TX worker is vhost_transport_do_send_pkt() tha...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...t; VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > > pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > /* Do not send zero length OP_RW pkt */ > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > return pkt_len; > > ... > > } > > > > then it queues the packet for the TX worker calling .send_pkt() > > [vhost_transport_send_pkt() in the vhost_transport case] > >...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...t; VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > > pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > /* Do not send zero length OP_RW pkt */ > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > return pkt_len; > > ... > > } > > > > then it queues the packet for the TX worker calling .send_pkt() > > [vhost_transport_send_pkt() in the vhost_transport case] > >...
2019 Sep 01
3
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...kt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > > > > > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > > > > > /* Do not send zero length OP_RW pkt */ > > > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > > > return pkt_len; > > > > ... > > > > } > > > > > > > > then it queues the packet for the TX worker calling .send_pkt() > > > &gt...
2019 Sep 01
3
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...kt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > > > > > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > > > > > /* Do not send zero length OP_RW pkt */ > > > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > > > return pkt_len; > > > > ... > > > > } > > > > > > > > then it queues the packet for the TX worker calling .send_pkt() > > > &gt...
2019 Aug 01
0
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...bytes */ > if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > > /* virtio_transport_get_credit might return less than pkt_len credit */ > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > /* Do not send zero length OP_RW pkt */ > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > return pkt_len; > ... > } > > then it queues the packet for the TX worker calling .send_pkt() > [vhost_transport_send_pkt() in the vhost_transport case] > > The main function executed by the T...
2019 Sep 01
0
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
..._SIZE) > > > pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > > > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > > > /* Do not send zero length OP_RW pkt */ > > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > > return pkt_len; > > > ... > > > } > > > > > > then it queues the packet for the TX worker calling .send_pkt() > > > [vhost_transport_send_pkt() in th...
2019 Sep 02
0
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...AULT_RX_BUF_SIZE; > > > > > > > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > > > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > > > > > > > /* Do not send zero length OP_RW pkt */ > > > > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > > > > return pkt_len; > > > > > ... > > > > > } > > > > > > > > > > then it queues the packet for the TX worker calling...
2014 Jul 05
0
[RFC V2 4/7] VSOCK: Introduce virtio-vsock.ko
...mote_cid; + dst_port = info->remote_port; + } + + trans = vsk->trans; + vq = vsock->vqs[VSOCK_VQ_TX]; + + if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) + pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; + pkt_len = virtio_transport_get_credit(trans, pkt_len); + /* Do not send zero length OP_RW pkt*/ + if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) + return pkt_len; + + /* Respect global tx buf limitation */ + mutex_lock(&vsock->tx_lock); + while (pkt_len + vsock->total_tx_buf > VIRTIO_VSOCK_MAX_TX_BUF_SIZE) { + prepare_to_wait_exclusive(&vsock->queue...
2015 Dec 09
0
[PATCH v3 2/4] VSOCK: Introduce virtio-vsock.ko
...mote_cid; + dst_port = info->remote_port; + } + + trans = vsk->trans; + vq = vsock->vqs[VSOCK_VQ_TX]; + + if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) + pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; + pkt_len = virtio_transport_get_credit(trans, pkt_len); + /* Do not send zero length OP_RW pkt*/ + if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) + return pkt_len; + + /* Respect global tx buf limitation */ + mutex_lock(&vsock->tx_lock); + while (pkt_len + vsock->total_tx_buf > VIRTIO_VSOCK_MAX_TX_BUF_SIZE) { + prepare_to_wait_exclusive(&vsock->queue...
2013 Jun 27
2
[RFC 4/5] VSOCK: Introduce vhost-vsock.ko
...> + info->len = credit; Is there support for non stream sockets? Without credits, you get all kind of nasty starvation issues. > + } > + if (info->len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > + info->len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > + /* Do not send zero length OP_RW pkt*/ > + if (info->len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > + return info->len; > + > + pkt = virtio_transport_alloc_pkt(vsk, info, info->len, > + src_cid, src_port, > + dst_cid, dst_port); We also need global limit on amount of memory per soc...
2013 Jun 27
2
[RFC 4/5] VSOCK: Introduce vhost-vsock.ko
...> + info->len = credit; Is there support for non stream sockets? Without credits, you get all kind of nasty starvation issues. > + } > + if (info->len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > + info->len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > + /* Do not send zero length OP_RW pkt*/ > + if (info->len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > + return info->len; > + > + pkt = virtio_transport_alloc_pkt(vsk, info, info->len, > + src_cid, src_port, > + dst_cid, dst_port); We also need global limit on amount of memory per soc...
2013 Jun 27
0
[RFC 4/5] VSOCK: Introduce vhost-vsock.ko
..._RX].vq; + + if (info->type == SOCK_STREAM) { + credit = virtio_transport_get_credit(trans); + if (info->len > credit) + info->len = credit; + } + if (info->len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) + info->len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; + /* Do not send zero length OP_RW pkt*/ + if (info->len == 0 && info->op == VIRTIO_VSOCK_OP_RW) + return info->len; + + pkt = virtio_transport_alloc_pkt(vsk, info, info->len, + src_cid, src_port, + dst_cid, dst_port); + if (!pkt) + return -ENOMEM; + + pr_debug("%s:info->len= %d\n", __fun...
2015 Dec 09
0
[PATCH v3 3/4] VSOCK: Introduce vhost-vsock.ko
...can send less than pkt_len bytes */ + if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) + pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; + + /* virtio_transport_get_credit might return less than pkt_len credit */ + pkt_len = virtio_transport_get_credit(trans, pkt_len); + + /* Do not send zero length OP_RW pkt*/ + if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) + return pkt_len; + + /* Respect global tx buf limitation */ + mutex_lock(&vq->mutex); + while (pkt_len + vsock->total_tx_buf > VIRTIO_VSOCK_MAX_TX_BUF_SIZE) { + prepare_to_wait_exclusive(&vsock->queue_wait...
2019 Jul 30
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
On Mon, Jul 29, 2019 at 03:10:15PM -0400, Michael S. Tsirkin wrote: > On Mon, Jul 29, 2019 at 06:50:56PM +0200, Stefano Garzarella wrote: > > On Mon, Jul 29, 2019 at 06:19:03PM +0200, Stefano Garzarella wrote: > > > On Mon, Jul 29, 2019 at 11:49:02AM -0400, Michael S. Tsirkin wrote: > > > > On Mon, Jul 29, 2019 at 05:36:56PM +0200, Stefano Garzarella wrote: > >
2019 Jul 30
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
On Mon, Jul 29, 2019 at 03:10:15PM -0400, Michael S. Tsirkin wrote: > On Mon, Jul 29, 2019 at 06:50:56PM +0200, Stefano Garzarella wrote: > > On Mon, Jul 29, 2019 at 06:19:03PM +0200, Stefano Garzarella wrote: > > > On Mon, Jul 29, 2019 at 11:49:02AM -0400, Michael S. Tsirkin wrote: > > > > On Mon, Jul 29, 2019 at 05:36:56PM +0200, Stefano Garzarella wrote: > >
2015 Dec 10
1
[PATCH v3 2/4] VSOCK: Introduce virtio-vsock.ko
...> + } > + > + trans = vsk->trans; > + vq = vsock->vqs[VSOCK_VQ_TX]; > + > + if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > + pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > + pkt_len = virtio_transport_get_credit(trans, pkt_len); > + /* Do not send zero length OP_RW pkt*/ > + if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > + return pkt_len; > + > + /* Respect global tx buf limitation */ > + mutex_lock(&vsock->tx_lock); > + while (pkt_len + vsock->total_tx_buf > VIRTIO_VSOCK_MAX_TX_BUF_SIZE) { > + prepare_to_...
2015 Dec 10
1
[PATCH v3 2/4] VSOCK: Introduce virtio-vsock.ko
...> + } > + > + trans = vsk->trans; > + vq = vsock->vqs[VSOCK_VQ_TX]; > + > + if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > + pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > + pkt_len = virtio_transport_get_credit(trans, pkt_len); > + /* Do not send zero length OP_RW pkt*/ > + if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > + return pkt_len; > + > + /* Respect global tx buf limitation */ > + mutex_lock(&vsock->tx_lock); > + while (pkt_len + vsock->total_tx_buf > VIRTIO_VSOCK_MAX_TX_BUF_SIZE) { > + prepare_to_...
2015 Dec 11
1
[PATCH v3 3/4] VSOCK: Introduce vhost-vsock.ko
...> + if (pkt_len > VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) > + pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; > + > + /* virtio_transport_get_credit might return less than pkt_len credit */ > + pkt_len = virtio_transport_get_credit(trans, pkt_len); > + > + /* Do not send zero length OP_RW pkt*/ > + if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > + return pkt_len; > + > + /* Respect global tx buf limitation */ > + mutex_lock(&vq->mutex); > + while (pkt_len + vsock->total_tx_buf > > VIRTIO_VSOCK_MAX_TX_BUF_SIZE) { I'm curious ab...