Stefano Garzarella
2023-Jul-27 08:54 UTC
[PATCH net-next v3 4/4] vsock/virtio: MSG_ZEROCOPY flag support
On Thu, Jul 27, 2023 at 11:32:00AM +0300, Arseniy Krasnov wrote:>On 25.07.2023 15:28, Stefano Garzarella wrote: >> On Tue, Jul 25, 2023 at 12:16:11PM +0300, Arseniy Krasnov wrote: >>> On 25.07.2023 11:46, Arseniy Krasnov wrote: >>>> On 25.07.2023 11:43, Stefano Garzarella wrote: >>>>> On Fri, Jul 21, 2023 at 08:09:03AM +0300, Arseniy Krasnov wrote:[...]>>>>>>> +??? t = vsock_core_get_transport(info->vsk); >>>>>>> >>>>>>> -??????? if (msg_data_left(info->msg) == 0 && >>>>>>> -??????????? info->type == VIRTIO_VSOCK_TYPE_SEQPACKET) { >>>>>>> -??????????? hdr->flags |= cpu_to_le32(VIRTIO_VSOCK_SEQ_EOM); >>>>>>> +??? if (t->msgzerocopy_check_iov && >>>>>>> +??????? !t->msgzerocopy_check_iov(iov_iter)) >>>>>>> +??????? return false; >>>>> >>>>> I'd avoid adding a new transport callback used only internally in virtio >>>>> transports. >>>> >>>> Ok, I see. >>>> >>>>> >>>>> Usually the transport callbacks are used in af_vsock.c, if we need a >>>>> callback just for virtio transports, maybe better to add it in struct >>>>> virtio_vsock_pkt_info or struct virtio_vsock_sock. >>> >>> Hm, may be I just need to move this callback from 'struct vsock_transport' to parent 'struct virtio_transport', >>> after 'send_pkt' callback. In this case: >>> 1) AF_VSOCK part is not touched. >>> 2) This callback stays in 'virtio_transport.c' and is set also in this file. >>> ? vhost and loopback are unchanged - only 'send_pkt' still enabled in both >>> ? files for these two transports. >> >> Yep, this could also work! >> >> Stefano > >Great! I'll send this implementation when this patchset for MSG_PEEK will be merged >to net-next as both conflicts with each other. > >https://lore.kernel.org/netdev/20230726060150-mutt-send-email-mst at kernel.org/T/#m56f3b850361a412735616145162d2d9df25f6350Ack! Thanks, Stefano