Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1585992pxv; Sat, 10 Jul 2021 08:43:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxPPDpBVFdlhNU3RUBCs3fh7TUUM04dyFqWSY4tMWGZH486i1y6MeR0+tWEZyr/F8Q0m5qr X-Received: by 2002:a17:906:28c4:: with SMTP id p4mr15545913ejd.302.1625931782335; Sat, 10 Jul 2021 08:43:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625931782; cv=none; d=google.com; s=arc-20160816; b=DPWRxzfvmCa2vCFO0KOp2NKed2WY5/d23XRUhsYG6bFcmkJqcz49aAx9uaRBFZR4IP hLkhipoXF8GcLljDda1Q1b0GF/Bh4SZUcE9rhz6Uvq8a1CEhgGe+G7cgsX9tnkj13BqW svg6oYXM5NaJPg9+JirR3ezD0fOlPuSG8VX9FRKd3oz/BcewVRm0s5lmA3pPoUbWCF3L cneH9oYv5lSVm9AzJiOAmwuooPKCGWISUC2RTSzin1jkgbjYw6OCpS0u4iCZGOIUCmLY ktEKos/zjWswPNSHLYE1maH5O/2KG9Tc557YgNFbdgiWABPs8GY2/k1vbOPsjUrdNlSP RQNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature:dkim-filter; bh=KhF9I+Y91rxYPQlmhH47nudYd4aSbMl0azX4Aaq10yE=; b=h4NRMqy4DbXdEiHyspHc0j7GAym1cxYtA3yl5mL7GO2hAVgz3OqvYD4SKQo6R2+yxg BckSpHLDU4sKjbV12lRqCQWB/ViEj71NPItI8jV4/uh5mOMAKnA4KxspnNFGQ7OQ/MLS Kd1WXHYCl+JCEpcCvouRHzQp91eeIJB739wfYMrkKfmyHPl19wdmfeOMRczbLjKvYtwM DK2vIHwxpFJRQm1ASuFh96CxLg5Xsarg/O6MCn6jM0Rpz1a7+C68qbkETLQ0DtrhNOTx FZ1E+iWpCA8NItxFGzixAhSP0+lzVMq7YtvMKf2St4OwYd3/SGsxgSvQKqV3WdbeMIRU vlNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b="J3TN/kzD"; 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=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w9si12194493edx.213.2021.07.10.08.42.39; Sat, 10 Jul 2021 08:43:02 -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=@linux.microsoft.com header.s=default header.b="J3TN/kzD"; 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=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232123AbhGJPo0 (ORCPT + 99 others); Sat, 10 Jul 2021 11:44:26 -0400 Received: from linux.microsoft.com ([13.77.154.182]:35480 "EHLO linux.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230325AbhGJPo0 (ORCPT ); Sat, 10 Jul 2021 11:44:26 -0400 Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) by linux.microsoft.com (Postfix) with ESMTPSA id 953C420B7178; Sat, 10 Jul 2021 08:41:40 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 953C420B7178 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1625931700; bh=KhF9I+Y91rxYPQlmhH47nudYd4aSbMl0azX4Aaq10yE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=J3TN/kzDcpLltdM5dLTvzYscS5+4ibNr5/MjNHBx/0DdxPI4uKALRgGhYLjQMtJ+R XQFPyVFSvBU3tAfj6jTnXfy6PraPb1VNoI0pdCbGmTzRQq4xsGdy+CevZDR3HlWJLU RzYVJr4+HIJyoMsgYoTujLpj/US39oSqJnP4fS44= Received: by mail-oi1-f171.google.com with SMTP id c145so1337604oib.2; Sat, 10 Jul 2021 08:41:40 -0700 (PDT) X-Gm-Message-State: AOAM533wV/76MYn0FEx61k7EWOwBwmEK6YyjBKy59qCmWTjXs4ZIhe1Q w3HQg8ZS097KfjXn67CkAI3IqDEQFClRv/SUEZM= X-Received: by 2002:a17:90a:43c3:: with SMTP id r61mr4950050pjg.11.1625931689477; Sat, 10 Jul 2021 08:41:29 -0700 (PDT) MIME-Version: 1.0 References: <1625903002-31619-1-git-send-email-linyunsheng@huawei.com> In-Reply-To: <1625903002-31619-1-git-send-email-linyunsheng@huawei.com> From: Matteo Croce Date: Sat, 10 Jul 2021 17:40:53 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH rfc v2 0/5] add elevated refcnt support for page pool To: Yunsheng Lin Cc: David Miller , Jakub Kicinski , alexander.duyck@gmail.com, Russell King , Marcin Wojtas , linuxarm@openeuler.org, yisen.zhuang@huawei.com, salil.mehta@huawei.com, Thomas Petazzoni , Jesper Dangaard Brouer , Ilias Apalodimas , Alexei Starovoitov , Daniel Borkmann , John Fastabend , Andrew Morton , Peter Zijlstra , Will Deacon , Matthew Wilcox , Vlastimil Babka , Fenghua Yu , Roman Gushchin , Peter Xu , feng.tang@intel.com, Jason Gunthorpe , Matteo Croce , Hugh Dickins , Jonathan Lemon , Alexander Lobakin , Willem de Bruijn , wenxu , Cong Wang , Kevin Hao , Aleksandr Nogikh , Marco Elver , netdev@vger.kernel.org, Linux Kernel Mailing List , bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jul 10, 2021 at 9:44 AM Yunsheng Lin wrote: > > This patchset adds elevated refcnt support for page pool > and enable skb's page frag recycling based on page pool > in hns3 drvier. > > RFC v2: > 1. Split patch 1 to more reviewable one. > 2. Repurpose the lower 12 bits of the dma address to store the > pagecnt_bias as suggested by Alexander. > 3. support recycling to pool->alloc for elevated refcnt case > too. > > Yunsheng Lin (5): > page_pool: keep pp info as long as page pool owns the page > page_pool: add interface for getting and setting pagecnt_bias > page_pool: add page recycling support based on elevated refcnt > page_pool: support page frag API for page pool > net: hns3: support skb's frag page recycling based on page pool > > drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 79 ++++++++++- > drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 3 + > drivers/net/ethernet/marvell/mvneta.c | 6 +- > drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +- > drivers/net/ethernet/ti/cpsw.c | 2 +- > drivers/net/ethernet/ti/cpsw_new.c | 2 +- > include/linux/skbuff.h | 4 +- > include/net/page_pool.h | 50 +++++-- > net/core/page_pool.c | 172 ++++++++++++++++++++---- > 9 files changed, 266 insertions(+), 54 deletions(-) > > -- > 2.7.4 > For mvpp2: Tested-by: Matteo Croce -- per aspera ad upstream