Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp559552ybf; Fri, 28 Feb 2020 03:21:40 -0800 (PST) X-Google-Smtp-Source: APXvYqy7xWenfeTFo86Sq1yopEjfamZvlsrFdrXz29jbOONKPbXB+7YoSfuC9PFmm+B1ytFuqGCM X-Received: by 2002:aca:ac86:: with SMTP id v128mr2762282oie.178.1582888900752; Fri, 28 Feb 2020 03:21:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582888900; cv=none; d=google.com; s=arc-20160816; b=HzB9PPwiyovjvttaST1YxIpgOCmQMUTyFc5BtjgpkW4tSOjLh+gtFCNtxnadSTUeaI 9W3UOGUXetsSmyj68nFICjgz1pVC//qY0l4PFLmqqdF2+VWjseb4QKeOPpTxrmGYZF7I N5WmaaI1WSFYur7OpXlANeGaIagBn056HyXTjbInWBTdx2/OeGLcc94d9Zn/cIiGd4XS tgrPqcgZlSjlk94Uf+rX6VCmSSZLlWO2gMTCwigB4yj0NSJOL4Zr5FoyVoEjXE+h0xZB 5AMqIrufyBQWmIWYkX+BwXa3HK/dGPWVwdofpvNQFLFzMzmf3nu6P4JDtB7LDfHbae2F Vkmw== 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 :message-id:date:references:in-reply-to:subject:cc:to:from :dkim-signature; bh=JwHjZB5Q4dc3T+wcDE5rzrvHt7xSnx1p8Z0SDiY1kIk=; b=dvjaCETW/aTj6KJ/eg7fyUzXbH3tW7CVr6aV4ida1t+kYZFcqb43/kDhbyazZBxnnN TEVL9JDIHqnplbjbG/hgK3g25SwYWcERUUlc7aA9NLLnXjX3qiB8NzIBd4gexpjmrbAd ohCgHLCIni0cP3OJZIeYA887l8fD6yJWfq9MlBrhGyWinkv2o+QZI6+1ogOsx6VYxEyf J43bZ+cimNLEnkqd3yETkQxGXEh8t7A+hapJ/CgqIWy4amNCIPXi24pZQrFwccxCDge1 yd4yH2a005xdrODkYBGC8ulAHgFph/Il+ZIka93ue0gN10Du6Lod9ZpwSii4GYDGqfeo gGwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=c0HdOOIi; 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q5si1302079otc.104.2020.02.28.03.21.27; Fri, 28 Feb 2020 03:21:40 -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=@redhat.com header.s=mimecast20190719 header.b=c0HdOOIi; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725933AbgB1LUj (ORCPT + 99 others); Fri, 28 Feb 2020 06:20:39 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:37481 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725730AbgB1LUj (ORCPT ); Fri, 28 Feb 2020 06:20:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582888838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JwHjZB5Q4dc3T+wcDE5rzrvHt7xSnx1p8Z0SDiY1kIk=; b=c0HdOOIi8e1qJlfHLzO6srhTaV2HhFSHlSO/Wadj6jT7m9LgFxofDgenzOfFC8+BTMSl4D 16sIiTbzLd+0A9xZ9+j7Q53SSow0kFXSoPQIguepyq/+k2rSsJc3nI5JiOatN2zWnkCnKm yQKeeCOjLHHfTr1FGuqVfcfV+d1LcO4= Received: from mail-lj1-f197.google.com (mail-lj1-f197.google.com [209.85.208.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-390-7kXmr8aZPkqdLpWSOqQyPQ-1; Fri, 28 Feb 2020 06:20:36 -0500 X-MC-Unique: 7kXmr8aZPkqdLpWSOqQyPQ-1 Received: by mail-lj1-f197.google.com with SMTP id s25so812027ljm.9 for ; Fri, 28 Feb 2020 03:20:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=JwHjZB5Q4dc3T+wcDE5rzrvHt7xSnx1p8Z0SDiY1kIk=; b=j/PiTv1CcyhG3LUb+2FDZZNv/snLKauL/FkUNNEc+Otb8urOwfoWtp5PC1UYc8PLWf itvsWCduDI75h19NKizgWQBy0azDlfcn5AcJJkHnGqkAzAo7ApdTJ1F+MlmQqBYluPuk 7aMRFboUhC8hvrBTW4UEuQ71XVW2fT8FvDDQ8O7B7tfa8mIg5ZZhQMFNbAYIr9O5u35v T9acAhAflQ3cXrP7s/UwvV47gtoOIIEKr3UcD3yK47YcPa+vRsrjxZQrpd/FGUf4r1v6 wnwTWEr78lG9CUtLFjKT35JhBlgPaatxaFuYATyTi4sqalB3hgH6PxUWasGSc5N/8I9D lRiQ== X-Gm-Message-State: ANhLgQ0SJJd7cpeli+FqXg4X1ZEtj/3Hqk3C9iNhXbSW6yBdQRiof8Nc rKUEGuOkoqWPaRr2+WmgJ+W2oCMtO2XhczGeNln6Hu6zOK1PEpWlXdE14o3FF/FK6qaFIzBYJz6 LOc8s9JdS+7YDaaXxQR+OOzLh X-Received: by 2002:a19:3fc7:: with SMTP id m190mr1451726lfa.102.1582888835041; Fri, 28 Feb 2020 03:20:35 -0800 (PST) X-Received: by 2002:a19:3fc7:: with SMTP id m190mr1451710lfa.102.1582888834787; Fri, 28 Feb 2020 03:20:34 -0800 (PST) Received: from alrua-x1.borgediget.toke.dk ([2a0c:4d80:42:443::2]) by smtp.gmail.com with ESMTPSA id q16sm4676857lfd.83.2020.02.28.03.20.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 03:20:34 -0800 (PST) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id 2F8EF180362; Fri, 28 Feb 2020 12:20:33 +0100 (CET) From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= To: Luigi Rizzo , netdev@vger.kernel.org, davem@davemloft.net, hawk@kernel.org, sameehj@amazon.com Cc: linux-kernel@vger.kernel.org, Luigi Rizzo Subject: Re: [PATCH v4] netdev attribute to control xdpgeneric skb linearization In-Reply-To: <20200228105435.75298-1-lrizzo@google.com> References: <20200228105435.75298-1-lrizzo@google.com> X-Clacks-Overhead: GNU Terry Pratchett Date: Fri, 28 Feb 2020 12:20:33 +0100 Message-ID: <875zfrufem.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Luigi Rizzo writes: > 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 Acked-by: Toke H=C3=B8iland-J=C3=B8rgensen