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 BC274E77183 for ; Wed, 18 Dec 2024 07:25:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4A11D6B0082; Wed, 18 Dec 2024 02:25:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4512E6B0083; Wed, 18 Dec 2024 02:25:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3188E6B0085; Wed, 18 Dec 2024 02:25:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 132736B0082 for ; Wed, 18 Dec 2024 02:25:32 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 985891A0C0C for ; Wed, 18 Dec 2024 07:25:31 +0000 (UTC) X-FDA: 82907243538.26.56B6423 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf21.hostedemail.com (Postfix) with ESMTP id 7C1B81C0011 for ; Wed, 18 Dec 2024 07:24:29 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Yu9dg8gC; spf=pass (imf21.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=alexei.starovoitov@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=1734506696; 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=NexonXHCdgEyg5usR8nRCaBcc/CF5+jjNDqZOrb9Z9Q=; b=tSyJJGrbmRj9SwcHqtDAwDUQSPaOh8cgb6E21aDJJTPJ7Wg0flA9ZN2+CEn9t7z/0o2Z27 Qj8FE6FOcqv0urmG4Qi1wrx5gSA21FAv1yGe4H1CNpdjutvg7NXJduwtcG+xYw4w4gMEyG ZZfb6HR9FasbzqhZMK3Scs+m80YlXlA= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Yu9dg8gC; spf=pass (imf21.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734506696; a=rsa-sha256; cv=none; b=7FMzoUYCWLWWNS79G+//4E2QfeeXas0D7i6AEJ0n23O7jX5nbclojwUnXxmMs0RfKY89tw 6H6zdQdyXkuikMGnrx5f9iZsBEVVz9TKLddi963G0gQW4ay20Vd0zstYpUQefRRnCTHxBX /J2UCJiDUYZ7Q/eWdWyVVfVHxZGDXV8= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4363ae65100so37501865e9.0 for ; Tue, 17 Dec 2024 23:25:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734506728; x=1735111528; 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=NexonXHCdgEyg5usR8nRCaBcc/CF5+jjNDqZOrb9Z9Q=; b=Yu9dg8gC6eqU3NIYgE9lCa4qMQvTgU8eyUlDjWWZtWm+g+BtwWc7YVSvbbnK0PE1SI eJMJ/CtVGyP3wV3JlIVNzbPWC47UjBE5/fP1qNM7VQbEHLVHH/OkKvKMrGzMNwGYUYWj 0h1RFFreSh7loTFW3SXPs/pjXbS3cP6GYrtcACiGUKDJUvIs+uIpHBbaQVGQxNJZMRle oxQQTsR9w1ILgkfsOFt22dA2iKGviE2EBBUyOdB6LIDBbJqfI9vct6IMNurvy785K+Lz 33mSaC8T6Pdbb3VyEk5JD5wBul7Tss2TZbu1sc+HVi2CyXexeVBEnDUwRsiXFGdkkAmS E4qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734506728; x=1735111528; 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=NexonXHCdgEyg5usR8nRCaBcc/CF5+jjNDqZOrb9Z9Q=; b=dKMCdJphjJ0UngxJOxFfaviFUiKz6y+kzytVaChMn2hAcITtfIbLIuHBCPgWUrlFCl HJFL6eIUGj1r5XhxK5bVZ5Oz4cexs2wyov5Ir17NhMeHVAdqIEVZz62K2BpMWcSHUX+g XE3KKOa6vCQfHu+FGyE3yB/FwfSf3rECK+jRx8B56MmDiBnCC31enMXAFZJMBjvbHO9R ZupKvTg/e8+/yKFYa/c8ouTItXKsMeKyr8KLUNaTZ8+elaiGO39OQTXcTekm7Gi71jyt mhBG/eTWrjq3mY8IRNSkYGfthaxU5oVo0NiZNhO870M00iEsUX6gAR2IawNbegmkXfjX 7ldw== X-Forwarded-Encrypted: i=1; AJvYcCXlmE/b+pe3361bqjUNTfgFIswLLblbkpM/Wm5+A6FTPtE04UOlUOhi8U1b/GHTLQwWdi+TR0+qLg==@kvack.org X-Gm-Message-State: AOJu0Yzquf7vIVSL3MTOPy2ASXj5g7AIxbucBlmf2LM9IbSoBLr3F0ed VlIvoTbIq/3Qkv6nA+oJp4VGHrDm2hJr75UfWwrA25R8RpKbo1tOLUYUXmsO1LENHA6ZM7/h0XR lErAXuGysSngiZ7fbWwHOMK1qquw= X-Gm-Gg: ASbGncsj78DJBAE7Y0dYX5RvGXy4NeT5wlPWKbC2quK1F7r8mqZSB9e0gFibY1SGEoZ h4ME0UlAf+y2QlAFmD3IY8i+hnN6SWhzvHtv2sg== X-Google-Smtp-Source: AGHT+IEdLUMqloqI1IlrJVK67PP8kElwYcGmKTgTFQ2kAOuCpjkyw1z7K+gTq6haCfRr78So5SF1E2NJxkSqg9cKeRk= X-Received: by 2002:a05:600c:4fd1:b0:434:a706:c0fb with SMTP id 5b1f17b1804b1-4365535c40dmr15719335e9.10.1734506728142; Tue, 17 Dec 2024 23:25:28 -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: Alexei Starovoitov Date: Tue, 17 Dec 2024 23:25:17 -0800 Message-ID: Subject: Re: [PATCH bpf-next v3 2/6] mm, bpf: Introduce free_pages_nolock() To: Yosry Ahmed 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-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7C1B81C0011 X-Rspam-User: X-Stat-Signature: cm6n5ke7wz9bs4yen854q8ygr48c3dtz X-HE-Tag: 1734506669-8734 X-HE-Meta: U2FsdGVkX18C5r6r0ZLHfE+pOPDoOisjk326jcSiwAqmjsD3nK8ubBB7fTFk3QfFMMvG5qlJUjGhj5iPixh6vCiTN4lWkZ49II+8APU4cP+HA6AINWxlKy3/WP7PJ2Ebp+7t8gT5TkEv/6gYrMyTAsw0nmqx5H5cdVJNRAzNDgK/IVOgae5vlTafBD9Ax2BDxeKVwOBtixjIRcqE9N2tQyxe3gWDjQg0ov94WlT2jO8kuesIYsW1CihcFBI6+IPGM2JOzc8UqcVjlrkW7BljGUrZRyJQGWOp+dU20XiSnrx9NDtrcaDh+0wmLBADPoyD1s6ztMsVP2OP5FBNtYuB70W0Mn/kuRlfgkwPh4z1yVxa7fUHvoqyiqji8De1bkbWbzboZoz5X7WPBt1QuodL7glIOnBS8gQ/JNVIYtDZkrG/zH77dcXWvyxzRiUVUIVdu9FTKhcbDXLa8NTN2ZHYJZaoXyA1YqmlsSzFyaxVFjSnXsAnwAaITYyETNoRGSGmGYOQsenmoD9IltHVeU7kAO9p7VwNb/qfgEAtY97lZ3i0ekN7ODcn6M3AhhbYUrcvY0tVbMa8veM0Z1V+867t191k34nMl3RRfjDSB+NHx096SIEqpfwAx3IeVNn+q82T26jOkL0zOWX4wI9M+b4p1t56beJqQRJ5Y93Ud7wuIV109jeEOIXeFm7XRYrXiBA7eOG+FfdvVXyo2xRhcakQRp8MLOdlDvnj7srP+EJAkezSRfTXObrPvKqtFvkL8Z657k4A/T1w8m6llBMaPTn4yVKKA/1uwM9qK71f8eCDzhKX0EkmR0//Br54fOE8yv81MpqaEL/0nBdT/TdINod6yg7ywfIKF6a8K7l6wFaYJqW/24qhRhyg7uxQ6/JtScgDbVe8mJcXMGcV9gZetx7kSFhO2UWTWr06dAdqCePbIpb9RqLVxO+ZLWiPxCGitKW+V6cSwSEUdxtp1Rv1MnF qJophc3N 9N//IbDH7dJn4+pNUT+4u46P7ztjSsBeW88r9DXv1LaGGXfZSzm8OQxzzUf7Bq5T3lpuiDvK+t28IKxRlPOB6Xc2dLZ5AhGi8DD3+Ru+Zm19ofuaKn86WlIKN10CoMozegoRNj1AeVgI+7wjtYZf/oWsqSLKJl+CuCMp129G5eanMVvOzjarMOom55XCgUEI0INcbTvqFH7vpoaw7W0WnXGoGHpvCBo0Opqz30rWjF9ye/QS9wxmwPT9wciKiZ3RxmgME568CvVbGrxGA0Dpv4CuKKphe+CtxAbmTfBC5ood5TSb+39x3NGvHF2OInK0ukg5hgPisVTWqZiuA6YCl6AZtDQcTMxhZmi/tnbas1RR1C8WI4mkvoGCPq/JgWJrK7i+sV5ig/jwgVoBODFlfyGr0n0g1hFuL+W5TlWCMAhFJrFf1NxUCVEHarxYmeW2G+oMc X-Bogosity: Ham, tests=bogofilter, spamicity=0.065023, 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 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.