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=-6.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,FROM_EXCESS_BASE64, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 538E1C48BD3 for ; Wed, 26 Jun 2019 20:50:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 28E0521726 for ; Wed, 26 Jun 2019 20:50:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SjGNdwfN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726399AbfFZUuf (ORCPT ); Wed, 26 Jun 2019 16:50:35 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:36817 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726223AbfFZUuf (ORCPT ); Wed, 26 Jun 2019 16:50:35 -0400 Received: by mail-qt1-f196.google.com with SMTP id p15so113763qtl.3; Wed, 26 Jun 2019 13:50:34 -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=0JIsc6upKI8LAsXQYXKRr6HIlOo8/DmHKKpGfMNZUew=; b=SjGNdwfNg/zcvVGN+PGBlPzER4WoOK2W/rlWgMe5EDeYvGrDCPHKp2nfZun+PStLEZ M7Y0HiMd2AQdt5pmBv/b4PN5sx5gtsvu1p7c/sl2xkPKEGIjX+vpoQ/fpefRgoTBNZJU b/q6V1NctY9VKorBH1nPg651d1aq35B9SGL5WtaK5QTjApgRRx3OuuDBICmTd1yjMxuh wLI5bsBAkfAoJmz0p4tjXdusElbj3ntkL7P4SH/CXsWVvLFq/7Wje6I1ANM4/x/WlW6O tU78+s/ses5VMjryhek9d7DiMvz8SE6oGnFGjZPZLhKYumKEXZ9qR0nnWgIpICMo8k04 0kdg== 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=0JIsc6upKI8LAsXQYXKRr6HIlOo8/DmHKKpGfMNZUew=; b=Fg5BeBGj/ZmlJbzsaiMBlRk8WsBNyw5At4hDUBunHrTvroHs1XBHVarPHOqXsUv/xo B3f0eMml1WKg4axGjQxWWN3O/zKyw8bY8PeRJkpJ8NdmUt+FEpdWeaZ5MM4OFP5yBJl3 obs2DMhdJNFPnUuR1tQuNwr8XO4oHkK18eQ2UOm0UjoYnNcV3GQtn+DcC85yiAyQv1oI A83l25fPoq0uF93G4kfzjPX2aQFTuAke/apZoH7vYGybX0N09/TD1QD7drsN4azCUqKw EbxuxZTSyUz5Rp6x4n0bN4lNCEn/clmTQf5dwWAAcelY0UYhImF8bC7iqx8FJc3fYNMh zwFA== X-Gm-Message-State: APjAAAUq7Vxyibj0mJkoBwDjfmQp1oU0kGlK49vPtU8XXxl0g4cavLlD wJ14glOd2VC67LenLDbFgclMY7W39wtPuDH90Z0= X-Google-Smtp-Source: APXvYqzg4kpaOhgH6DRsJAUX1HodpBqgBiRivJiHRugOt304HkbVCpfYd6BJiuQm5gWEfmapy8VnKuRQpNwdYxYSOeg= X-Received: by 2002:a0c:c146:: with SMTP id i6mr5401108qvh.79.1561582233943; Wed, 26 Jun 2019 13:50:33 -0700 (PDT) MIME-Version: 1.0 References: <20190626155911.13574-1-ivan.khoronzhuk@linaro.org> In-Reply-To: <20190626155911.13574-1-ivan.khoronzhuk@linaro.org> From: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= Date: Wed, 26 Jun 2019 22:50:23 +0200 Message-ID: Subject: Re: [PATCH net-next] xdp: xdp_umem: fix umem pages mapping for 32bits systems To: Ivan Khoronzhuk Cc: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , "Karlsson, Magnus" , David Miller , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Netdev , bpf , Xdp , LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Wed, 26 Jun 2019 at 17:59, Ivan Khoronzhuk wrote: > > Use kmap instead of page_address as it's not always in low memory. > Ah, some 32-bit love. :-) Thanks for working on this! For future patches, please base AF_XDP patches on the bpf/bpf-next tree instead of net/net-next. Acked-by: Bj=C3=B6rn T=C3=B6pel > Signed-off-by: Ivan Khoronzhuk > --- > net/xdp/xdp_umem.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c > index 9c6de4f114f8..d3c1411420fd 100644 > --- a/net/xdp/xdp_umem.c > +++ b/net/xdp/xdp_umem.c > @@ -169,6 +169,14 @@ static void xdp_umem_clear_dev(struct xdp_umem *umem= ) > } > } > > +static void xdp_umem_unmap_pages(struct xdp_umem *umem) > +{ > + unsigned int i; > + > + for (i =3D 0; i < umem->npgs; i++) > + kunmap(umem->pgs[i]); > +} > + > static void xdp_umem_unpin_pages(struct xdp_umem *umem) > { > unsigned int i; > @@ -210,6 +218,7 @@ static void xdp_umem_release(struct xdp_umem *umem) > > xsk_reuseq_destroy(umem); > > + xdp_umem_unmap_pages(umem); > xdp_umem_unpin_pages(umem); > > kfree(umem->pages); > @@ -372,7 +381,7 @@ static int xdp_umem_reg(struct xdp_umem *umem, struct= xdp_umem_reg *mr) > } > > for (i =3D 0; i < umem->npgs; i++) > - umem->pages[i].addr =3D page_address(umem->pgs[i]); > + umem->pages[i].addr =3D kmap(umem->pgs[i]); > > return 0; > > -- > 2.17.1 >