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 89797E77183 for ; Wed, 18 Dec 2024 07:41:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E26F76B0082; Wed, 18 Dec 2024 02:41:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DD7706B0083; Wed, 18 Dec 2024 02:41:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C76B46B0085; Wed, 18 Dec 2024 02:41:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A91756B0082 for ; Wed, 18 Dec 2024 02:41:14 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 654C080C33 for ; Wed, 18 Dec 2024 07:41:14 +0000 (UTC) X-FDA: 82907283144.26.DF88DD6 Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by imf24.hostedemail.com (Postfix) with ESMTP id 64DB618000F for ; Wed, 18 Dec 2024 07:41:08 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=OGPNHOSt; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf24.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.45 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734507643; a=rsa-sha256; cv=none; b=x6yMW7pi9GZFV0afj3TTACUYvHX+9WJBonTAjNV9Nj5VIkaBMNWsQQjL2kpGPdSEd3RAxe sbAsB8kmREwcCuEROiZG71p4WKiW9BPtBnLFihNSZrlrOlESWV48IwRnBUqMa1ltG4vJTU CAV1SaO3t0pZEyW0cWzFTa+FiLb15nQ= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=OGPNHOSt; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf24.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.45 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734507643; 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=coYSCa6srDcN5W+MR0+5UPZjH3IFU84xqA944Wm0lJk=; b=eMM9jY4ZazNcjJj7Ntg9919qHKfyNBHeqiR1eYs/qENYPocM9X6LVzJ2P2ZY0H1srDLrdb OOEybdOckVPLkE1Xy2Wv4+3rUEJ74SBCWojkm8Yos+Cv+vm0fY93/oTiQGlTNMO1so5pNh bvPmd2yCVcdi0lMmf1mNMaJsYOF/25Y= Received: by mail-qv1-f45.google.com with SMTP id 6a1803df08f44-6dce7263beaso28276996d6.3 for ; Tue, 17 Dec 2024 23:41:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1734507671; x=1735112471; 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=coYSCa6srDcN5W+MR0+5UPZjH3IFU84xqA944Wm0lJk=; b=OGPNHOStD7b7X9d99pX9P9bB0Z3yVCtKx6255KHmUbzJUlKue96QuZYRHjFjWLUv/N 3Pvq7OiPdJKWOq8DLb8DmOmCJyzTYMjyaC21HJkzSKnkcu4Spa6nkP24tm6+WD/xIUtO xQbyJzE2Q7K0F4nyHAbRO4blzLMqbloh1BpbLZ22NIjUoBIihxp0h+o4aJ7YJylaex+C y50y/mpxSUGwdORJPpxMT2HwoDwnXzk2f/tBIVvHsj1ogl0StmgVkCG+NAvvR0sX/akC idy1J/B+BBGly5JP0KYGDUb/85kHsrpq03wMmlDjIoxLOKkWDAIpr4FRMKAgEq9ZzzHY KLWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734507671; x=1735112471; 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=coYSCa6srDcN5W+MR0+5UPZjH3IFU84xqA944Wm0lJk=; b=BecQ/FOsjzfqdSauX8TNYB3eHWBmRY8YDWWtPSoZvM3yWXpy73INIIph2ml6ruADAI AzjuSYazBo2LZIjY9FvTOmtJ9WnE49E0a/hb+VYiB6X0SNKKs6qC9G9iZ/UPJsxzVHAc jWGmLKJ58zXHAa1yWVaLnqyUUBD7DxrsJfcMWatgBqQc/3oVn7Ivkwo7e+EkM5NzOL5k FVb7llAIRn/mTirhRkns1DRJcGJ2Ka+zfjDPkza3m48v2pBddyxri+F0IZ2H8fbce/4i gmsPRl3nz3675qWeDhBLJL4U5eD031AbZJQfN7ev6U9hbSY4gWjFX5oMGOXiuJ6qBDFC fF8g== X-Forwarded-Encrypted: i=1; AJvYcCUQ+jBOcklR4CmtAXcdkLc4d2sz5Hu9+A9mGRdtxGn2FO8bv6ZoaOEHRIcWHoW7xOzQ9yWdcugU+A==@kvack.org X-Gm-Message-State: AOJu0Yx6nMeASDYt2A0kzWw6ALkL6VJYRJt+0a9b+HhfCbd9JleuWnoM tW61YYFEGva4wCuVwrhSUFvvMTrZCwYjh4m0NXZejVDEbxao2S/vi5FbSaRMP23l2nQaLQvaWa1 QigvgauDl1ux7ShpeukLx1ZoTHE1/+db0cAlY X-Gm-Gg: ASbGncub50WZkqevRGGEh19uQTdqPMCLygt1gu4xzY1F48r2BM0joXxob4OpaFbZmOL L30siRZwOqD3u3ZLWKA3mkCT6rHTeMAcM7oo= X-Google-Smtp-Source: AGHT+IFyghsk3hDgcpK8OqFTYryRjftq0KlLPDBqW46xlx9T516zU+ShYdfVuospUTxwrlARi5J2/h0w3XI2dE4eBLY= X-Received: by 2002:a05:6214:4005:b0:6d8:aa52:74a3 with SMTP id 6a1803df08f44-6dd091d8bd3mr39088986d6.28.1734507671323; Tue, 17 Dec 2024 23:41:11 -0800 (PST) MIME-Version: 1.0 References: <20241218030720.1602449-1-alexei.starovoitov@gmail.com> <20241218030720.1602449-3-alexei.starovoitov@gmail.com> In-Reply-To: From: Yosry Ahmed Date: Tue, 17 Dec 2024 23:40:34 -0800 X-Gm-Features: AbW1kvaTzWf8B9cmIWua0nD3lhtwwDfpu7WjVqH9m6BR_V8eNFoc-GwWWo6aH60 Message-ID: Subject: Re: [PATCH bpf-next v3 2/6] mm, bpf: Introduce free_pages_nolock() To: Alexei Starovoitov Cc: bpf , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Andrew Morton , Peter Zijlstra , Vlastimil Babka , Sebastian Sewior , Steven Rostedt , Hou Tao , Johannes Weiner , shakeel.butt@linux.dev, Michal Hocko , Matthew Wilcox , Thomas Gleixner , Jann Horn , Tejun Heo , linux-mm , Kernel Team Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: eeakpjqzdu3rfp1g7475jtznfpakwg77 X-Rspam-User: X-Rspamd-Queue-Id: 64DB618000F X-Rspamd-Server: rspam08 X-HE-Tag: 1734507668-566904 X-HE-Meta: U2FsdGVkX1+RkdhBL2D1B42zNXPovm3Ze/zD+osYfVaXH+v29xv/nVjGXwfPzelKTv8EyBPqxG2vpKKNx5lRuMKZal1TQgbj8EDTRqLg/xKbQr+CFoHbmPsqZZ1vmnQd+07yxU/UsyciIAUufaB8/VZIS3zVkdK5TwOywHHO4Uj3IUTurjdycgDixF+H8iA9fau5YGqsxDn3qKp+kZ15fLsiX7Ioig9x+MclU3lrrfgcsH322eJX1Alm/Z+P/y33QDh/Pn8fe9x5GYaZYOIkgZNraTZBR3/3rAF3oO2DVOI0qWHIBa8Q36uVyD7wTL1qRe6g5z0x1xmx10Atal3fTG6ec9mYkZWmwa5ITNnEFRCdQ7XJN416EwvYie5aMSTdpAPblcBe3HYsz0glt1ZPdCIoGuDSFi05z8aSnucgNjKVvsaJ36Zdt3iHhLINMNfkDlLn6mG8+VckZ91RSTReiPNKZt4OgLTso0wcPpypIVBYNu0z/ytkm1rcsIWvSN3lZd+J2OSLB9Y2MJ+3U8Gpk5uxCw9NTY+QtwZ0M7AIMKEWlp1gdAHxZe2fXYKXGsSsUOxHw9P1TSLiaMfVW2l9IVOgb5j3u81W0Vd2tD0vdORYvtJuaRDdINRXUhpKuvAmp0mIPdHOERPKGFpY3lQxZv6ivjwN3JgY4bvrGN2CAbMrMPojej8PB9YmKXVvZ+FCqULahp4UaR3GIqAq4Rv/D9oUuMoZqXMb+gbpKjn+YpoWZIbk3qlMjTTDXYgDTZv7W/6peI2f5sTLy4WcZXiz8tqEas2sFs0fr7xV38w0lSgz0Qc/0XZk8aAs9PtjowTUPqDpt66P74PEc0a1dSlvjCzObLXw6hPXO32yRTIIDbXjVNHTNczaUzGMuzjucDypr8OXB4dy++0JrfMuBVTs43qrSflDI/VSSvui1ZiT13wIpVizGNHfrgkdKLhQ59QSuWJOtWv38ZNMecrhSab aWAEnHr6 ykIoJ64vkGHZA03NAPetiZUVEPtrnjva9AVhvl5HL7TAqRQvs5SsqioEutHlrs8A4A+84WYzvnjbXx1twjVMI7ER+NkEA/0xr/PeNolRGmsxLSDmoJGWkLQ1DAXiAMbe6XhdkItoRC/FQ/0UR0zmCWbRrT5UMESHsMiZ+eyVZVdoHW0rxepwIuyITG8zXeLJELx5NHNMePHG7QyYj0eVyb8engOJ68gIbhji3XF1O1f0FO4wfG+0RPNRL9LPMgCowBA5dOJmq71X3Xr0i0cuXLRUp9q3yr06//5lwfdc5UjiUWmyzF378SCJrG/Meb1SfiVMTh6UXWfOi77psz4EuGxDEEswIp7c6GIdl478kZrf1ebs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.006353, 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 Tue, Dec 17, 2024 at 11:25=E2=80=AFPM Alexei Starovoitov wrote: > > On Tue, Dec 17, 2024 at 10:49=E2=80=AFPM Yosry Ahmed wrote: > > > > On Tue, Dec 17, 2024 at 10:37=E2=80=AFPM Alexei Starovoitov > > wrote: > > > > > > On Tue, Dec 17, 2024 at 9:58=E2=80=AFPM Yosry Ahmed wrote: > > > > > > > > What I mean is, functions like __free_unref_page() and > > > > free_unref_page_commit() now accept fpi_flags, but any flags other > > > > than FPI_TRYLOCK are essentially ignored, also not very clear. > > > > > > They're not ignored. They are just not useful in this context. > > > > I think they are. For example, if you pass FPI_SKIP_REPORT_NOTIFY to > > __free_unref_page(), page_reporting_notify_free() will still be called > > when the page is eventually freed to the buddy allocator. Same goes > > for FPI_NO_TAIL. > > free_pcppages_bulk()->page_reporting_notify_free() will _not_ be called > when FPI_TRYLOCK is specified. > They are internal flags. The callers cannot make try_alloc_pages() > pass these extra flags. > The flags are more or less exclusive. > > > > The code rules over comment. If you have a concrete suggestion on > > > how to improve the comment please say so. > > > > What I had in mind is adding a WARN in the pcp freeing functions if > > any FPI flag but FPI_TRYLOCK is passed, and/or explicitly calling out > > that other flags should not be passed as they have no effect in this > > context (whether at the function definition, above the WARN, or at the > > flag definitions). > > pcp freeing functions? > In particular? > tbh this sounds like defensive programming... > BUILD_BUG_ON is a good thing when api is misused, > but WARN will be wasting run-time cycles on something that should > have been caught during code review. > free_unref_page_commit() is a shallow function when FPI_TRYLOCK is used. > There is no need to propagate fpi_flags further into free_pcppages_bulk > just to issue a WARN. I meant WARN in free_unref_page_commit() if any other FPI flags are used. Anyway, I don't feel strongly about this as I mentioned earlier.