Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp961677ybf; Fri, 28 Feb 2020 11:01:22 -0800 (PST) X-Google-Smtp-Source: APXvYqyTPE023RiNeGGIzi3ZYG4leXSbl6AEQ/YNUqZxXyB0FRInaHmIIMYTejz4Ehp4C9WbWU0z X-Received: by 2002:aca:c78e:: with SMTP id x136mr4158544oif.116.1582916482122; Fri, 28 Feb 2020 11:01:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582916482; cv=none; d=google.com; s=arc-20160816; b=I7LwONepujBpn+uZyxzA0ICnY3ebadUHBX/n/Kp96EoyGGDI92BdPPdqCA+NrjnJHx wvSXvwwbdXuAprmx/t4HSkxLQ3hbrOFka0Y+vDoIOGTcfhTg7ntVkir7N2pQq3UwNDgh W4jMvaEE/GAtP3UZRca03TM6XYkLN64yFrQA9skqcQVj1KI1QblKh3gNlyEZdMn5AWWn 9kfJewZfkn5aCUmxZ0p4cX+0s5OIvI4CnOT55D08MYTHUIEQy/uKk1EMFgjc9cMAjsNm kmLHJQclbK7J22OVkzwxgP2zd9jngaL9OoHOCuoRpLn5Eea0ng+ilp2RhCqGVgGqY991 sdhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=3kDpOmJ4M7SD9h+qTJICeXJyqn28q3lVXmg5/8Jc4SU=; b=GM0XuGQwTrBbfo7oOzzyfxG0sxpQ3vKAXo6A9+4QHcwyOTrmwW/fbqiLnXRx5G6Mb7 katEBXgmTYvzIvuGONhtrtvAnbKBqw9RZPKrfSmszCl8JmSi/tUysViCM0FkbYzRnrr/ nlSrw2MEzQuOAbCvPt9BBD+sKnng+iCn52M6XM4evC5jrFVi79XYnR1+r16YzEkDY/GY WZkebgYEuyr+4S+AFM3xaHv2USPdIOjI27SVTtRM/Lbq3slZ1nsH1mDLROU027BOQ7Cu zQ0DfuJKz6H1KCUxspgPeYL7JvbSADuQqVRjvFnc4pOsqIKvi/xsMgRTw3atDXQ2Y8hl MH9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pMdtxamo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a4si2221855oto.55.2020.02.28.11.01.10; Fri, 28 Feb 2020 11:01:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=pMdtxamo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726816AbgB1TAq (ORCPT + 99 others); Fri, 28 Feb 2020 14:00:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:45808 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726562AbgB1TAq (ORCPT ); Fri, 28 Feb 2020 14:00:46 -0500 Received: from kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com (unknown [163.114.132.128]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9F36524650; Fri, 28 Feb 2020 19:00:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582916446; bh=oiN+vw82YC4G4dBMZGD38IagIMDTKxtFX6jGuP0tb6c=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=pMdtxamovopKTBN62+q0WVmLlpprDYml/AU8/iI8elWqiwRvEZxmLjm2B4AcPvVmQ gBYfsC3iu4AIzFCo/KPmIrub9jW+/yEHh4kYd0axrhgz21DvYKMixc+TqBdfqdgs3H ggckDU2LVhyDEdlGdX+fwmB2GH86Ra/j4sgTjv2c= Date: Fri, 28 Feb 2020 11:00:43 -0800 From: Jakub Kicinski To: Luigi Rizzo Cc: netdev@vger.kernel.org, toke@redhat.com, davem@davemloft.net, hawk@kernel.org, sameehj@amazon.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4] netdev attribute to control xdpgeneric skb linearization Message-ID: <20200228110043.2771fddb@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: <20200228105435.75298-1-lrizzo@google.com> References: <20200228105435.75298-1-lrizzo@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 28 Feb 2020 02:54:35 -0800 Luigi Rizzo wrote: > Add a netdevice flag to control skb linearization in generic xdp mode. > > The attribute can be modified through > /sys/class/net//xdpgeneric_linearize > The default is 1 (on) > > Motivation: xdp expects linear skbs with some minimum headroom, and > generic xdp calls skb_linearize() if needed. The linearization is > expensive, and may be unnecessary e.g. when the xdp program does > not need access to the whole payload. > This sysfs entry allows users to opt out of linearization on a > per-device basis (linearization is still performed on cloned skbs). > > On a kernel instrumented to grab timestamps around the linearization > code in netif_receive_generic_xdp, and heavy netperf traffic with 1500b > mtu, I see the following times (nanoseconds/pkt) > > The receiver generally sees larger packets so the difference is more > significant. > > ns/pkt RECEIVER SENDER > > p50 p90 p99 p50 p90 p99 > > LINEARIZATION: 600ns 1090ns 4900ns 149ns 249ns 460ns > NO LINEARIZATION: 40ns 59ns 90ns 40ns 50ns 100ns > > v1 --> v2 : added Documentation > v2 --> v3 : adjusted for skb_cloned > v3 --> v4 : renamed to xdpgeneric_linearize, documentation > > Signed-off-by: Luigi Rizzo Just load your program in cls_bpf. No extensions or knobs needed. Making xdpgeneric-only extensions without touching native XDP makes no sense to me. Is this part of some greater vision?