From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B970BCA9EB5 for ; Mon, 21 Oct 2019 05:03:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8BF9B2064B for ; Mon, 21 Oct 2019 05:03:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="vEUGlEnp" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727078AbfJUFDi (ORCPT ); Mon, 21 Oct 2019 01:03:38 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:38081 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727047AbfJUFDh (ORCPT ); Mon, 21 Oct 2019 01:03:37 -0400 Received: by mail-qt1-f196.google.com with SMTP id o25so5673822qtr.5; Sun, 20 Oct 2019 22:03:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=yNA4IJh7IyVo9n7MPHM6S3n+LSxLyl9PYyPGaB6d5jg=; b=vEUGlEnp1rwVVxS5Jx61vGmhip0OwhHMmGyL0yVwzQ0FCripho21Z0NtCXyGe8INhh pSPdtRohJLUiifxn9saAlL/DmVE3vXz/J0UZwG9JeXd3bdFAXzUgJh65mNZKE2jUAtL0 BBIV1MOc4xycQbIrmkdNc1LoOKPxrxjCZM2+HFLEeFJtz7N9cr7z0S25+oKU/RmzOTrG EcmgbeqHNZCBirRJ46GNQcodBWKZMGbEODnUEBZSk8C4MwQfej6j0xxjTDOvdAvQiaPU Mr6KhW46ejKmti8qJYuhwsJJ5YC8+qobJhMD86T0SFOWma2cL7QG0Bx03REq+Rr8nle7 yLMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=yNA4IJh7IyVo9n7MPHM6S3n+LSxLyl9PYyPGaB6d5jg=; b=C6f0TG5PHA8LCsz3hG8XIZB/fKcMJt8v6wrygRwMF2LrX/jepF2ZaKrLbWCH0TSaDH KgqxjAaV1cab9pamsiwyQiUNFbxM6nWvXSS4kl8FBr28mksEbT2tK7eaD+dhxNJCz2uS i5gAU5OXqDUyLPYBfaEnpO0+CjK5PLDt1Bizvjpn7Lz3kLyE2fSiAKR6N7bzuzSM5mH3 WomTviKol3GFEbc26o3QHztvGUqXill4qh99Um+eYSin1TkkEBgV9Hcsycpd3NpzbetE JJZZNL3m8e2iqpWy6Dc3oLA3N6DVxXSH2x18zoSS05YkXmHr809ZF2jzjGPDaAb6+FbE LO+g== X-Gm-Message-State: APjAAAXHQOIE4Ybv98DWL6Hkrq5C87tUlsjF5leVGD4spRGGPQN4JWwp 9c7JXfNEkvDevliyA49STZ97d91Zd+TS5RYP2gg= X-Google-Smtp-Source: APXvYqx+kG6LmHZ83Z0ALN68pee6pOEFXjATi0Z0/HaeHUJfEgdNcXyfZQcm+JF430XF2xZ15b8hGOYvuWC1oLROoM8= X-Received: by 2002:ac8:2f90:: with SMTP id l16mr16097989qta.359.1571634216731; Sun, 20 Oct 2019 22:03:36 -0700 (PDT) MIME-Version: 1.0 References: <20191020170711.22082-1-bjorn.topel@gmail.com> <87pnirb3dc.fsf@toke.dk> In-Reply-To: <87pnirb3dc.fsf@toke.dk> From: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= Date: Mon, 21 Oct 2019 07:03:25 +0200 Message-ID: Subject: Re: [PATCH bpf-next] libbpf: remove explicit XSKMAP lookup from AF_XDP XDP program To: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Netdev , Alexei Starovoitov , Daniel Borkmann , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , bpf , Magnus Karlsson , "Karlsson, Magnus" , "Samudrala, Sridhar" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org On Sun, 20 Oct 2019 at 21:53, Toke H=C3=B8iland-J=C3=B8rgensen wrote: > > Bj=C3=B6rn T=C3=B6pel writes: > > > From: Bj=C3=B6rn T=C3=B6pel > > > > In commit 43e74c0267a3 ("bpf_xdp_redirect_map: Perform map lookup in > > eBPF helper") the bpf_redirect_map() helper learned to do map lookup, > > which means that the explicit lookup in the XDP program for AF_XDP is > > not needed. > > > > This commit removes the map lookup, which simplifies the BPF code and > > improves the performance for the "rx_drop" [1] scenario with ~4%. > > Nice, 4% is pretty good! > > I wonder if the program needs to be backwards-compatible (with pre-5.3 > kernels), though? > > You can do that by something like this: > > ret =3D bpf_redirect_map(&xsks_map, index, XDP_PASS); > if (ret > 0) > return ret; > > if (bpf_map_lookup_elem(&xsks_map, &index)) > return bpf_redirect_map(&xsks_map, index, 0); > return XDP_PASS; > Ah, yes. Thanks for pointing that out. I'll do a respin. Thanks, Bj=C3=B6rn > > This works because bpf_redirect_map() prior to 43e74c0267a3 will return > XDP_ABORTED on a non-0 flags value. > > -Toke >