Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4741516pxf; Tue, 30 Mar 2021 16:17:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyxb7wuqmiAHGzXKmyomiHrjcC9Eh52pwyU9Xs98qwnHpTTArqV8X3SDaNaMbnpfJhqIq7i X-Received: by 2002:a17:906:1453:: with SMTP id q19mr592536ejc.76.1617146271131; Tue, 30 Mar 2021 16:17:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617146271; cv=none; d=google.com; s=arc-20160816; b=TT2WISonkpcNCaGDt15RyRqIW0O/m9TLPi1cEfWFrv7hfojIIIlWSgnOAqhouFOyX/ FbBoyULUeMsPs2VcHeCY0+tmOTzspMYPdmzhAs9v/5WfblReBYUlb5xUNdN7/7ID19Pw 9EtkNBbSg7i13zZJaHVuA6vm4LIKJrrjLhJodEkTecuo8QJg43H773SyIIX9yOybHcv8 DBsnOaGSPZkAUgTzu2tf7C0WYvd6+6qZFP0vGm2EuyrMQeM4gcX1aCkxLMo9VsXtq1CV 3GrBkrK/1Ojlvi03LDzNOOC4OjhN63cJgA/e9RUIdCyNRwFcZdaVm0yVOE+EvFlRycBy ertw== 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:subject:reply-to:cc:from:to:dkim-signature:date; bh=zG9SSUw4/Ao2wQS3FMFRGbEb1lFQgDiESXkJ9lxuSsU=; b=0w81HYjDtD+1rZYBMsvKEuRl5h00C0nYr58OV0qBlInlsNwZtODMxiqvw53Gpsc2zP Imtybo7RJMygaesXF59NqFqWWERJ5189qWDysbmNfbqayLr+2ZMeIsBoYEfB69sd7S4B 3CvhOtrCJIOqHGuzdLqHeu/KRFBHMB22blZ/1Xwb7/r1jMT1WnyRm9nJn7I0svj6tJUP +8Sqxy2U0qWq6lYD6rJR5aYOi31FfhXypLCwaVwJ54LWtyPJdiK3CLqq2PL0Tts/c0Ki +eXFZ66JL0AHzVLKYLk7/8F+pwhAOIHyTX211HxUQZCJRadLNNVtQRQwJJY6OYWxrZup 2vVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@pm.me header.s=protonmail header.b=fUFFSwYf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=pm.me Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ko24si229972ejc.407.2021.03.30.16.17.28; Tue, 30 Mar 2021 16:17:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@pm.me header.s=protonmail header.b=fUFFSwYf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=pm.me Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233169AbhC3XQX (ORCPT + 99 others); Tue, 30 Mar 2021 19:16:23 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:27087 "EHLO mail-40134.protonmail.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233026AbhC3XPy (ORCPT ); Tue, 30 Mar 2021 19:15:54 -0400 Date: Tue, 30 Mar 2021 23:15:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail; t=1617146152; bh=zG9SSUw4/Ao2wQS3FMFRGbEb1lFQgDiESXkJ9lxuSsU=; h=Date:To:From:Cc:Reply-To:Subject:From; b=fUFFSwYfp9SbO1ukq4EIU6vyXzV7ofNWUGi1ivJdCvgJaN8MTAKk9MMt6Kbm24WR2 BrL50oqRFGoJ4SI2YgefkLgrkrjVIebu1GJ/zmbIUa+YyOgkAQmb1qJbeBeAxt6PBM vA7O3zDYWDKIjukMWmELfDWna4c32uffjNIzGFkGiL0cBnRqExcMQrbXxDxeg1Pi2h VF0FF6FbFXrFdVnBsx7gKzvo3hDiQFYP5NeqEJ8G2IHhPr4JSUAjxF0cd+WZiak5B9 i5GBs3zu1vkLUB2uQF8RvTi3VVKo1WOPKUCZsMD5ZLiwv8sOYCj6u2lSVfe4U7DAyl HXuRCocOfxmLw== To: Alexei Starovoitov , Daniel Borkmann From: Alexander Lobakin Cc: Xuan Zhuo , =?utf-8?Q?Bj=C3=B6rn_T=C3=B6pel?= , Magnus Karlsson , Jonathan Lemon , "David S. Miller" , Jakub Kicinski , Jesper Dangaard Brouer , John Fastabend , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , KP Singh , Alexander Lobakin , netdev@vger.kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Reply-To: Alexander Lobakin Subject: [PATCH bpf-next 0/2] xsk: introduce generic almost-zerocopy xmit Message-ID: <20210330231528.546284-1-alobakin@pm.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series is based on the exceptional generic zerocopy xmit logics initially introduced by Xuan Zhuo. It extends it the way that it could cover all the sane drivers, not only the ones that are capable of xmitting skbs with no linear space. The first patch is a random while-we-are-here improvement over full-copy path, and the second is the main course. See the individual commit messages for the details. The original (full-zerocopy) path is still here and still generally faster, but for now it seems like virtio_net will remain the only user of it, at least for a considerable period of time. Alexander Lobakin (2): xsk: speed-up generic full-copy xmit xsk: introduce generic almost-zerocopy xmit net/xdp/xsk.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) -- Well, this is untested. I currently don't have an access to my setup and is bound by moving to another country, but as I don't know for sure at the moment when I'll get back to work on the kernel next time, I found it worthy to publish this now -- if any further changes will be required when I already will be out-of-sight, maybe someone could carry on to make a another revision and so on (I'm still here for any questions, comments, reviews and improvements till the end of this week). But this *should* work with all the sane drivers. If a particular one won't handle this, it's likely ill. -- 2.31.1