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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 283F0C4167B for ; Wed, 29 Nov 2023 07:08:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A32B26B01F3; Wed, 29 Nov 2023 02:08:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E8466B01F9; Wed, 29 Nov 2023 02:08:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A9536B0201; Wed, 29 Nov 2023 02:08:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 797576B01F3 for ; Wed, 29 Nov 2023 02:08:52 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4668980439 for ; Wed, 29 Nov 2023 07:08:52 +0000 (UTC) X-FDA: 81510114504.01.AC9384D Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by imf21.hostedemail.com (Postfix) with ESMTP id 82D131C0007 for ; Wed, 29 Nov 2023 07:08:50 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gjX9OqsR; spf=pass (imf21.hostedemail.com: domain of liangchen.linux@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=liangchen.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701241730; h=from:from:sender: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:dkim-signature; bh=5tiPCgtx3KK6Y+OPc0gpmsjkWj4LuZCAU+LhNn1oeOQ=; b=FpFSV5eW8QDgmXAVPOWgK4unUkTyqt/06asJIpQG6FvC3ySSDAU9WM4QQEvDCRWaLooiea UINbWdN7jZ9Gdh/SLSzViaaWVvEQ35i+8G429rnBdJacs7UWguVjdjvcG5eu2gqJ0ETAFa 0lGWnL99oKXgDFsDY6nA0aR21kw0ECo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701241730; a=rsa-sha256; cv=none; b=L+RyWGhv8GlzxSWABhS2UjAW0jKb8cjPHVCSYklj30yO81MuD0ox8BivH+2ED/W9z3MT0K Cp3Xv1Cc35GwOMqCvgsGCqtBA/KYv6iHbUjgRctjrIZdw3lt9KoOox7ky09xisZPBy5UkA L6d6UgZW3U+lwl2UB5ZkXbz7x1Xr3lY= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gjX9OqsR; spf=pass (imf21.hostedemail.com: domain of liangchen.linux@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=liangchen.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a00c200782dso914918866b.1 for ; Tue, 28 Nov 2023 23:08:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701241729; x=1701846529; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5tiPCgtx3KK6Y+OPc0gpmsjkWj4LuZCAU+LhNn1oeOQ=; b=gjX9OqsRG94E4dDYqurOzC3+QKDrOjWQjMqpC8w1XSMeh8T4H8bNmF/4TX1vwygEIF DWQe8Uqc3di/r+WxVbIgQvgerF2m4mG+fJhlSaHGREX6QX3RYcN0Khaqv2KS8t9WLXBn uzDm1tP17Zo788l+W/EDuRQM9oxRUkydJvHyzX3lKB23phkoTGZ3DI0d8wU38wQFWJKA +xCX5pts/Fnn+EA7iqknr2avgf5xFH5SdHGh0YcgArhthXHTCokNsLoO9wjQ6bh5eGJZ cf1oUqRR+T2KYYf5cyjE0McQGgQaCWbaEMgWWnpvVWN/yYFR3i38UROJJG0Z195FhUnW FkNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701241729; x=1701846529; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5tiPCgtx3KK6Y+OPc0gpmsjkWj4LuZCAU+LhNn1oeOQ=; b=dTm93dAV6DnT2CqMiulDwIQN+n4JsApW6PdnAoi4lEuCDL6fx/9VEZrmYMjLgDNVck lPaesyrGWoQ3ckAaUfgHtd0rFDLCZ2zAKmdXM+LI+MpdgnSYwsnyD98883cB4GMddNam PLgWsUgSU/PG9d0QrXK0vkXrjh9gAbKL3pr13Xx0BfUrFObZW9M5ij2iAnRNZomgfF05 kh+sRj+7erf8NMwipRDV4/mf9l59D+rF6ZryNrnYChA2VXw8aV+rYeSR7HOD8GxzyMPY 1oG6s/r2qgzfGD2A1lkZpYxFZU46Y56Gzdar0ny+1/PhzHHceAIklALTpk5WS7iPJmg2 zjeQ== X-Gm-Message-State: AOJu0YwSeC+JQU1Z5Q2Etynd4mtxmVqGSx/dGGtgNqSk+oPCsRq/sHd8 9UqIBpIx5ndyoE8pgDF3WA3oSmHOMQ5CpwpXBss= X-Google-Smtp-Source: AGHT+IHi5amqGdjQMho1OrR+rLW8l2dUNSsa79oIKQqxhrS9IS6HxuA18Cyc3pXEVAdyTv5ogfTYCRw7wl+7gF26KIA= X-Received: by 2002:a17:906:3e0e:b0:9c1:edd8:43c2 with SMTP id k14-20020a1709063e0e00b009c1edd843c2mr12236426eji.42.1701241729201; Tue, 28 Nov 2023 23:08:49 -0800 (PST) MIME-Version: 1.0 References: <20231129031201.32014-1-liangchen.linux@gmail.com> <20231129031201.32014-5-liangchen.linux@gmail.com> <664e753b-23ba-56b7-a2b7-a2bd83260887@huawei.com> In-Reply-To: <664e753b-23ba-56b7-a2b7-a2bd83260887@huawei.com> From: Liang Chen Date: Wed, 29 Nov 2023 15:08:35 +0800 Message-ID: Subject: Re: [PATCH net-next v4 4/4] skbuff: Optimization of SKB coalescing for page pool To: Yunsheng Lin Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, hawk@kernel.org, ilias.apalodimas@linaro.org, netdev@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: h6fsnwzznoa8ioa83u1fcc1urnzkrwmu X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 82D131C0007 X-Rspam-User: X-HE-Tag: 1701241730-953320 X-HE-Meta: U2FsdGVkX1/gyFPlTD1WLlls7i8x+CIee7BR9Te/szcVjoXFS9OiaAVgjv2sC5avpcOlNgK8YO5xtMa3CyDBnChwQdAEwoqyEgwuL9oIMcQtLjpgpm6MrtSBy1KHDWDB2AGnU2AU+anbV/KVTfW2ACA7y83XimMVgrNxeFXsrASzcNv/1iWbr9roHoMc3dQDagL5mMnQU2LAyP/x7bqzlgDlqdl9iH5wVv4MuxFaHcmnBbueUnE5muDldy6Wu1FzCZnB/8e+XuvwgubrhfxnP0aemGuSz2oF/05N63ib6+I45jHSyX/h1SHKJRRwAN9DtKrr7We/av5WPKPjtjbk9EXb0IxjAtdlebIucazXuk07rw1qLoRV0VLd3rTAEjir5yv7sjktk3uRS1KCiqmpyZmcAqQ7/KqLg7wcde1pZvW8k02M0RwZP7r6vmZdu/rWqAfA9KNi4mclr3OypcHTI2GhYhqiB56+mPufjXzsy+ohGErVdiU1gBmjnjPFe4bSTtDYSyOrEcMBRPYXHgExan7XvyM7zPIFUNRlC/qDMew9XNfbTy4LGjm0DnsVjVMHy7cCESRKX2QCA9QeMXzJT7jb1Cmnjb/Y7sAwUuSQfCkOH0XHINQ6ft3Bu9RomQCFScsWncv3ggQV4ekhX5svXBq8R6wzb3Sf4lDWizh1OvueNPvAJtK3b5bQzZCAmPIjHG3SvOMA+pr0sp4t4tg9vuq25SUuOe2NYFRAJsX/SxHHEtzBA8DIgd0/6rOT0pTWTL6VNl8eAr/nJBZtMEBGPSPxEyxhkE4DoKN0l1p5e0Il8pUIqSpPGACtVZVZgp14PFG9M/zkb8eroCZnPOHkVCK9oSSPtaYWJefxVzkxvolBFAfgruqtXK23D+WFji6eoqC/8IV1h61hqfmWp0Lrf8nTdHvzMLXELLtT3CFKeegkNqbClAd9BJ5g3RbcpD33OxYiDDw1rhDzp6s1aum GdT/J8h/ uB1KPZVXyaV+sL4RW4Xxgcj1CSLzVqJ9F0fD4TIzIZt2OP1T/aZfglxYCp+77/ejG3srwUNMueweKf3CF7X765eylsulXXg0RFJdEt1aCAMR1VPcc9jZHo/55UVQEWCOK8buyRtgOSVo6mG5v+2ELmLUUP2mj16ossnbnR0iFpfpmCRtVfYbewJfebcd+4g3H4931Nu1JsYrR/oIccgVvGfp0cNf3ZF9qjteL1prg5Tq8L1K+7g9EEt7w6r2Iwurexangq77h7OrEFBY1f4J9M4wL/BrCQWlx94IXSVVxaya+ocbiRZuX+081UQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.062389, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Nov 29, 2023 at 11:56=E2=80=AFAM Yunsheng Lin wrote: > > On 2023/11/29 11:12, Liang Chen wrote: > > > > +/** > > + * skb_pp_get_frag_ref() - Increase fragment reference count of a page > > + * @page: page of the fragment on which to increase a reference > > + * > > + * Increase fragment reference count (pp_ref_count) on a page, but if = it is > > + * not a page pool page, fallback to increase a reference(_refcount) o= n a > > + * normal page. > > + */ > > +static inline void skb_pp_get_frag_ref(struct page *page) > > Simiar comment for 'inline ' too. > Sure. > Also, Is skb_pp_frag_ref() a better name than skb_pp_get_frag_ref() > mirroring skb_frag_ref()? > Sure. skb_pp_frag_ref sounds better:) > > +{ > > + struct page *head_page =3D compound_head(page); > > + > > + if (likely(skb_frag_is_pp_page(head_page))) > > + atomic_long_inc(&head_page->pp_ref_count); > > As pp_ref_count is supposed to be a internal field to page_pool, > I am not sure if it matters that much to manipulate pp_ref_count > directly in skbuff core. > > Maybe we can provide a helper for that if it really matter in the > future. > > Sure. will provide a helper in page_pool/helpers.h > > + else > > + get_page(head_page); > > I suppose we can use page_ref_inc() as we have a compound_head() > calling in the above. > Sure. Thanks! > Other than the above nits, LGTM. > > Reviewed-by: Yunsheng Lin