From patchwork Tue Jul 18 18:02:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arseniy Krasnov X-Patchwork-Id: 12227 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1929452vqt; Tue, 18 Jul 2023 11:22:51 -0700 (PDT) X-Google-Smtp-Source: APBJJlHqr8KE78Xc+o1INiA/jGmLKHrUeFtKn0vRQV5iUyqjYDKiWJutjhn8F5HqLAb/SH+7Ftyc X-Received: by 2002:a17:906:77d6:b0:993:d617:bdc8 with SMTP id m22-20020a17090677d600b00993d617bdc8mr618568ejn.7.1689704571560; Tue, 18 Jul 2023 11:22:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689704571; cv=none; d=google.com; s=arc-20160816; b=bCnoWT/GC2vAkGGIvVIcjrK5Ko/lbKD4bAWlWXi8yM5XWBgJFu107Ns+a7RJ8ZBTd+ SVxD9bFdyrKHgTgEiNXrtJtJtpQyNu5cF3SWFXZYewtjYtthapJ3LzbchfHDJ/810k0U LxhjhwGIlj8wx+xJ5SA/PACQwHDzIykNhcBKMrnQ7B1nOAHNvZz9L+ntzM3ExA3808es 6egQLC1Qwk1WNcvwX7z54tVRvmjbQuaG2a0iP2qru8UvpuKqGjj2sQ/qPT7qmFmv8TIR gp1pDg50X2MsLXDVbRLPIFVhZrZroCd6/lKXuMUQfv3gX7cGbTghtRFfe2oeWTgVjWzr vt/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=AP2RkCg8oLWIuJk69zdwx+Vd67QvE+Lk+BhlnuORtp4=; fh=IiLlUAYZQ4hWuQbi3V9KE00VdjFsw4tg4Y6JCUFRLn0=; b=Mod05h//zDfAIpc2IdwJ78sflLqsQrQ1r6IT7tdEhwxzXmpgoOKvQ2E8jCQy/V7b7h hlHXArx5yaoEfnkHgxM0EAKE18IaVDBz3/JlA9bL1MhJQFsrVT8uEJ6XPAn03IwQrl1H B58iSpAhinnMgi2Q2/m5ePw5d0uYgJslmhUC2Y1j+nqayoLPc6t0vdniacjVs9zqNwtv 8r3efvjBwbMi+bmRaK4bqlibYSwEYyru7nM2A6klkEGbMapmFrya3pgR5++Wc/b7zA6G 1aNnG696BsNrCwZJAq5CL9wPC3WcTdC6y0galaLklvh9E/RoluLHSEZhUCF2XONjJdBM tmRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b="b/BaR9QM"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g7-20020a17090669c700b0098f564f636esi1534092ejs.132.2023.07.18.11.22.27; Tue, 18 Jul 2023 11:22:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b="b/BaR9QM"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232185AbjGRSIY (ORCPT + 99 others); Tue, 18 Jul 2023 14:08:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46550 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231139AbjGRSIW (ORCPT ); Tue, 18 Jul 2023 14:08:22 -0400 Received: from mx1.sberdevices.ru (mx2.sberdevices.ru [45.89.224.132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 482BA1733; Tue, 18 Jul 2023 11:08:19 -0700 (PDT) Received: from p-infra-ksmg-sc-msk02 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 749C912003B; Tue, 18 Jul 2023 21:08:16 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 749C912003B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1689703696; bh=AP2RkCg8oLWIuJk69zdwx+Vd67QvE+Lk+BhlnuORtp4=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=b/BaR9QMsz5py2M7oVj2FgvUZ7eXZ4Xe2mbywYvhVyXMqCvYESPkxVH8pQn2wO16t TWq4nmq9eq+W8+NXWZjBMuLVLYDM6XDYpK8FWp/NZeOduusFJRX6xPoxwiSEcPhI2W 69nof87XVH5nZzSlpEjPR5AfojN5XOO1FEYtDXXtystphMggxFOldFs0pQLfXsFZKd EGodKUvs9jtPJS1rN72YqjCKHuobSLQQM0rYLfkwv1VYBLoRtEPFaxHeOqVt4KNNDI lO9eqm7j4YcrYiMcZSvbaj1Au7ptSvFUEnUxFD5IlegpTEbOoGP/1g2qCEinQ3dFFw mVGlCdqV2eZDw== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Tue, 18 Jul 2023 21:08:16 +0300 (MSK) Received: from localhost.localdomain (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Tue, 18 Jul 2023 21:08:15 +0300 From: Arseniy Krasnov To: Stefan Hajnoczi , Stefano Garzarella , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , "Michael S. Tsirkin" , Jason Wang , Bobby Eshleman CC: , , , , , , , Arseniy Krasnov Subject: [PATCH net-next v2 0/4] vsock/virtio/vhost: MSG_ZEROCOPY preparations Date: Tue, 18 Jul 2023 21:02:33 +0300 Message-ID: <20230718180237.3248179-1-AVKrasnov@sberdevices.ru> X-Mailer: git-send-email 2.35.0 MIME-Version: 1.0 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m02.sberdevices.ru (172.16.192.103) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 178700 [Jul 18 2023] X-KSMG-AntiSpam-Version: 5.9.59.0 X-KSMG-AntiSpam-Envelope-From: AVKrasnov@sberdevices.ru X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 524 524 9753033d6953787301affc41bead8ed49c47b39d, {Tracking_uf_ne_domains}, {Tracking_from_domain_doesnt_match_to}, 100.64.160.123:7.1.2;d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;127.0.0.199:7.1.2;p-i-exch-sc-m01.sberdevices.ru:7.1.1,5.0.1;sberdevices.ru:7.1.1,5.0.1;lore.kernel.org:7.1.1, FromAlignment: s, {Tracking_white_helo}, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean, bases: 2023/07/18 06:43:00 X-KSMG-LinksScanning: Clean, bases: 2023/07/18 06:43:00 X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/07/18 13:44:00 #21634370 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771783660756434438 X-GMAIL-MSGID: 1771783660756434438 Hello, this patchset is first of three parts of another big patchset for MSG_ZEROCOPY flag support: https://lore.kernel.org/netdev/20230701063947.3422088-1-AVKrasnov@sberdevices.ru/ During review of this series, Stefano Garzarella suggested to split it for three parts to simplify review and merging: 1) virtio and vhost updates (for fragged skbs) <--- this patchset 2) AF_VSOCK updates (allows to enable MSG_ZEROCOPY mode and read tx completions) and update for Documentation/. 3) Updates for tests and utils. This series enables handling of fragged skbs in virtio and vhost parts. Newly logic won't be triggered, because SO_ZEROCOPY options is still impossible to enable at this moment (next bunch of patches from big set above will enable it). I've included changelog to some patches anyway, because there were some comments during review of last big patchset from the link above. Head for this patchset is 60cc1f7d0605598b47ee3c0c2b4b6fbd4da50a06 Link to v1: https://lore.kernel.org/netdev/20230717210051.856388-1-AVKrasnov@sberdevices.ru/ Changelog: * see per-patch changelog after ---. Arseniy Krasnov (4): vsock/virtio/vhost: read data from non-linear skb vsock/virtio: support to send non-linear skb vsock/virtio: non-linear skb handling for tap vsock/virtio: MSG_ZEROCOPY flag support drivers/vhost/vsock.c | 14 +- include/linux/virtio_vsock.h | 1 + net/vmw_vsock/virtio_transport.c | 40 +++- net/vmw_vsock/virtio_transport_common.c | 300 ++++++++++++++++++------ 4 files changed, 278 insertions(+), 77 deletions(-)