search for: msg_zerocopy

Displaying 13 results from an estimated 13 matches for "msg_zerocopy".

2023 Feb 16
0
[RFC PATCH v1 12/12] test/vsock: MSG_ZEROCOPY support for vsock_perf
...+0000, Arseniy Krasnov wrote: >To use this option pass '--zc' parameter: --zerocopy or --zero-copy maybe better follow what we did with the other parameters :-) > >./vsock_perf --zc --sender <cid> --port <port> --bytes <bytes to send> > >With this option MSG_ZEROCOPY flag will be passed to the 'send()' call. > >Signed-off-by: Arseniy Krasnov <AVKrasnov at sberdevices.ru> >--- > tools/testing/vsock/vsock_perf.c | 127 +++++++++++++++++++++++++++++-- > 1 file changed, 120 insertions(+), 7 deletions(-) > >diff --git a/tools/testin...
2023 Sep 04
0
[PATCH net-next v7 4/4] vsock/virtio: MSG_ZEROCOPY flag support
On Sun, Sep 03, 2023 at 11:13:23AM +0300, Arseniy Krasnov wrote: > > >On 01.09.2023 15:30, Stefano Garzarella wrote: >> On Sun, Aug 27, 2023 at 11:54:36AM +0300, Arseniy Krasnov wrote: >>> This adds handling of MSG_ZEROCOPY flag on transmission path: if this >>> flag is set and zerocopy transmission is possible (enabled in socket >>> options and transport allows zerocopy), then non-linear skb will be >>> created and filled with the pages of user's buffer. Pages of user's >>>...
2023 Aug 01
0
[PATCH net-next v5 4/4] vsock/virtio: MSG_ZEROCOPY flag support
On Sun, 2023-07-30 at 11:59 +0300, Arseniy Krasnov wrote: > +static int virtio_transport_fill_skb(struct sk_buff *skb, > + struct virtio_vsock_pkt_info *info, > + size_t len, > + bool zcopy) > +{ > + if (zcopy) { > + return __zerocopy_sg_from_iter(info->msg, NULL, skb, > + &info->msg->msg_iter, > + len); > + }
2023 Aug 01
0
[PATCH net-next v5 4/4] vsock/virtio: MSG_ZEROCOPY flag support
On Tue, 2023-08-01 at 16:36 +0300, Arseniy Krasnov wrote: > > On 01.08.2023 16:34, Paolo Abeni wrote: > > On Sun, 2023-07-30 at 11:59 +0300, Arseniy Krasnov wrote: > > > +static int virtio_transport_fill_skb(struct sk_buff *skb, > > > + struct virtio_vsock_pkt_info *info, > > > + size_t len, > > > + bool zcopy) > > >
2023 Nov 07
0
[PATCH AUTOSEL 6.1 11/18] vsock: read from socket's error queue
...vices.com> [ Upstream commit 49dbe25adac42d3e06f65d1420946bec65896222 ] This adds handling of MSG_ERRQUEUE input flag in receive call. This flag is used to read socket's error queue instead of data queue. Possible scenario of error queue usage is receiving completions for transmission with MSG_ZEROCOPY flag. This patch also adds new defines: 'SOL_VSOCK' and 'VSOCK_RECVERR'. Signed-off-by: Arseniy Krasnov <avkrasnov at salutedevices.com> Reviewed-by: Stefano Garzarella <sgarzare at redhat.com> Signed-off-by: David S. Miller <davem at davemloft.net> Signed-off-by:...
2023 Nov 07
0
[PATCH AUTOSEL 6.6 21/31] vsock: read from socket's error queue
...vices.com> [ Upstream commit 49dbe25adac42d3e06f65d1420946bec65896222 ] This adds handling of MSG_ERRQUEUE input flag in receive call. This flag is used to read socket's error queue instead of data queue. Possible scenario of error queue usage is receiving completions for transmission with MSG_ZEROCOPY flag. This patch also adds new defines: 'SOL_VSOCK' and 'VSOCK_RECVERR'. Signed-off-by: Arseniy Krasnov <avkrasnov at salutedevices.com> Reviewed-by: Stefano Garzarella <sgarzare at redhat.com> Signed-off-by: David S. Miller <davem at davemloft.net> Signed-off-by:...
2023 Nov 07
0
[PATCH AUTOSEL 6.5 20/30] vsock: read from socket's error queue
...vices.com> [ Upstream commit 49dbe25adac42d3e06f65d1420946bec65896222 ] This adds handling of MSG_ERRQUEUE input flag in receive call. This flag is used to read socket's error queue instead of data queue. Possible scenario of error queue usage is receiving completions for transmission with MSG_ZEROCOPY flag. This patch also adds new defines: 'SOL_VSOCK' and 'VSOCK_RECVERR'. Signed-off-by: Arseniy Krasnov <avkrasnov at salutedevices.com> Reviewed-by: Stefano Garzarella <sgarzare at redhat.com> Signed-off-by: David S. Miller <davem at davemloft.net> Signed-off-by:...
2023 Feb 16
0
[RFC PATCH v1 07/12] vsock/virtio: MGS_ZEROCOPY flag support
On Mon, Feb 06, 2023 at 07:00:35AM +0000, Arseniy Krasnov wrote: >This adds main logic of MSG_ZEROCOPY flag processing for packet >creation. When this flag is set and user's iov iterator fits for >zerocopy transmission, call 'get_user_pages()' and add returned >pages to the newly created skb. > >Signed-off-by: Arseniy Krasnov <AVKrasnov at sberdevices.ru> >--- &gt...
2023 Aug 01
0
[PATCH net-next v5 1/4] vsock/virtio/vhost: read data from non-linear skb
On Sun, 2023-07-30 at 11:59 +0300, Arseniy Krasnov wrote: > This is preparation patch for MSG_ZEROCOPY support. It adds handling of > non-linear skbs by replacing direct calls of 'memcpy_to_msg()' with > 'skb_copy_datagram_iter()'. Main advantage of the second one is that it > can handle paged part of the skb by using 'kmap()' on each page, but if > there are no p...
2019 Apr 08
1
[PATCH RFC 0/4] vsock/virtio: optimizations to increase the throughput
On Mon, Apr 08, 2019 at 02:43:28PM +0800, Jason Wang wrote: > Another thing that may help is to implement sendpage(), which will greatly > improve the performance. I can't find documentation for ->sendpage(). Is the idea that you get a struct page for the payload and can do zero-copy tx? (And can userspace still write to the page, invalidating checksums in the header?) Stefan
2023 Feb 16
0
[RFC PATCH v1 04/12] vhost/vsock: non-linear skb handling support
On Mon, Feb 06, 2023 at 06:57:16AM +0000, Arseniy Krasnov wrote: >This adds copying to guest's virtio buffers from non-linear skbs. Such >skbs are created by protocol layer when MSG_ZEROCOPY flags is used. > >Signed-off-by: Arseniy Krasnov <AVKrasnov at sberdevices.ru> >--- > drivers/vhost/vsock.c | 56 ++++++++++++++++++++++++++++++++---- > include/linux/virtio_vsock.h | 12 ++++++++ > 2 files changed, 63 insertions(+), 5 deletions(-) > >diff --git a...
2019 May 31
0
[libnbd] Simultaneous read and write
...SIX aio_* creates a helper thread under the hood, the same as I suggested we might do above - the Linux kernel's io_submit() still performs I/O in order rather than in parallel https://blog.cloudflare.com/io_submit-the-epoll-alternative-youve-never-heard-about/ - the Linux kernel's sendto(MSG_ZEROCOPY) can perform true async network traffic (you can regain control of your single thread prior to the full write going out the door, and thus can perform a read at the same time from a single thread), although it is only efficient once you reach the point of sending 10k or more at once > > -...
2019 May 31
4
[libnbd] Simultaneous read and write
This is a continuation of a discussion we were having on IRC. The problems with IRC are it's not recorded and it's hard to have deep technical conversations. I hope this is a decent summary. Problem simply stated: Certain NBD servers (qemu-nbd in particular) are able to simultaneously read and write on a socket. ie. They can be simultaneously reading a request and writing the reply to