From patchwork Sun Jul 30 08:59:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arseniy Krasnov X-Patchwork-Id: 12823 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:918b:0:b0:3e4:2afc:c1 with SMTP id s11csp1467351vqg; Sun, 30 Jul 2023 05:11:12 -0700 (PDT) X-Google-Smtp-Source: APBJJlHjO7UF1faU0rDTzAQ7EvHW5WCIoARHbaM9UWdL/4CBEqrXouwutkCDufWivoLhGsubT5Br X-Received: by 2002:a17:90b:24c:b0:262:e598:6046 with SMTP id fz12-20020a17090b024c00b00262e5986046mr7302293pjb.28.1690719071833; Sun, 30 Jul 2023 05:11:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690719071; cv=none; d=google.com; s=arc-20160816; b=nb4rQY784GJ9iuCC85KxW53a93SBZPhnrEy+iSzRS5WYgilAcZy5h7yDYsp5dQssKK smdOZQa+RJWrDxzI21cpwn7GwlXRccNypryIeM4lEgdTUjPaiCJQHgH00cl2LTaWL5zD Vwuh9qsrizxxGeURK4WI5hzoBFj8AXKHmY2ySNdbbRMaRxG3HXblnHqOwT8kHF6a/hG2 BRGKx8WUCZWh70mmGaHjwtioprQ7sTIP2fsO+t+U3BaqBPXSzK+WmMtQe66TbwOvHSSK vrtmR18NoOS67M8zM9Shy97s82wqpoKbcS16OczpUuO6aGQc4yz3UKr9u/Rm/CB0vKpU HtGQ== 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=K75gWr4pK3bexUfvFPFTdO9HXZORA4f2sEVWJknvFFU=; fh=IiLlUAYZQ4hWuQbi3V9KE00VdjFsw4tg4Y6JCUFRLn0=; b=RnYw7W5VDnNdZEjwhFdQkjQrDM8dbCFngZfBKhh3F30ibTg72ZKAWyxd7pDex5Xuj4 GL012p/9+OlMpoPfvPuVBFSxW4Hf1cSiwGk1eCgFco50pKDVMMixSLM1njrswD+iaMTv bvf8bpsfISzc4hhqcJgrRVAmpyN9wKrPOli5x4h2G5y5snVnblFYrN5LBMCjXOpKOOO2 dsoGC933lcshMgYjuRTLm8q8qa8T2+jPK/+G3p4O/8GXnim8dFB0KO1KRIgPhTN8vFrK 4PCxcYUZnkgXHL9sfyxby+NcjiZH1Aw+OkisrIi18mx1E4BPZAfiA+uSCiCkp1BQH0Dh gh1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=ipQjh8uB; 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 i21-20020a17090acf9500b00263c23a5693si5872802pju.13.2023.07.30.05.10.58; Sun, 30 Jul 2023 05:11:11 -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=ipQjh8uB; 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 S229753AbjG3JFA (ORCPT + 99 others); Sun, 30 Jul 2023 05:05:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229469AbjG3JE6 (ORCPT ); Sun, 30 Jul 2023 05:04:58 -0400 Received: from mx1.sberdevices.ru (mx2.sberdevices.ru [45.89.224.132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92391195; Sun, 30 Jul 2023 02:04:56 -0700 (PDT) Received: from p-infra-ksmg-sc-msk02 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id CF305120009; Sun, 30 Jul 2023 12:04:54 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru CF305120009 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1690707894; bh=K75gWr4pK3bexUfvFPFTdO9HXZORA4f2sEVWJknvFFU=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=ipQjh8uBCOo6rlsUAdOvDX7IIbx3RQySD10yshrE9O2zXHRJHVLoLn4KYcT/RDtNw uB5NWpcFa7fQC2k5HzxoWinSh6rswqdNHLyNTGi9+BqkvlKCOIOzgccXzhRFG6omge D7+esjius3OPKUDRmKZQGCmfTMZofxy4cv+jqrQFihXleWH8jOewJecg4CdEAiePo2 YFpjbQrK8IXyEF61KAFJIsoKlNW0NwPAfoalulIU0cjTDZlrtfPHE5yEDU42TgE6S6 s2wQIwwx3HUP6K/7ftnFqB/bWLgb1iWLHifCsHemqKhGp8auP8+nFV8nGh8RbpvJ0E X9qAk/bWhh7Iw== 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; Sun, 30 Jul 2023 12:04:54 +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; Sun, 30 Jul 2023 12:04:14 +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 v5 0/4] vsock/virtio/vhost: MSG_ZEROCOPY preparations Date: Sun, 30 Jul 2023 11:59:01 +0300 Message-ID: <20230730085905.3420811-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-m01.sberdevices.ru (172.16.192.107) 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: 178796 [Jul 22 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: 525 525 723604743bfbdb7e16728748c3fa45e9eba05f7d, {Tracking_uf_ne_domains}, {Tracking_from_domain_doesnt_match_to}, FromAlignment: s, 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/23 10:45:00 X-KSMG-LinksScanning: Clean, bases: 2023/07/23 10:46:00 X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/07/23 08:49:00 #21663637 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,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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: 1772847441802454812 X-GMAIL-MSGID: 1772847441802454812 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 9d0cd5d25f7d45bce01bbb3193b54ac24b3a60f3 Link to v1: https://lore.kernel.org/netdev/20230717210051.856388-1-AVKrasnov@sberdevices.ru/ Link to v2: https://lore.kernel.org/netdev/20230718180237.3248179-1-AVKrasnov@sberdevices.ru/ Link to v3: https://lore.kernel.org/netdev/20230720214245.457298-1-AVKrasnov@sberdevices.ru/ Link to v4: https://lore.kernel.org/netdev/20230727222627.1895355-1-AVKrasnov@sberdevices.ru/ Changelog: v3 -> v4: * Patchset rebased and tested on new HEAD of net-next (see hash above). v4 -> v5: * 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 | 6 + net/vmw_vsock/virtio_transport.c | 74 +++++- net/vmw_vsock/virtio_transport_common.c | 300 ++++++++++++++++++------ 4 files changed, 313 insertions(+), 81 deletions(-)