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 1BEFAE7717F for ; Tue, 10 Dec 2024 05:31:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68EFF6B011C; Tue, 10 Dec 2024 00:31:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 617476B011D; Tue, 10 Dec 2024 00:31:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B8A86B011E; Tue, 10 Dec 2024 00:31:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2A1306B011C for ; Tue, 10 Dec 2024 00:31:48 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 794C312041A for ; Tue, 10 Dec 2024 05:31:46 +0000 (UTC) X-FDA: 82877926992.11.82A4676 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 673071C0007 for ; Tue, 10 Dec 2024 05:31:03 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=a0OxHuVW; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733808695; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Gw+FTs0IxbI0TUivHWQ4v/YMUdOEV6kkcJRQz1yZZAc=; b=iDMOyV1ctHtqFaaSALomVoIzZviXOdjT+nXqTKpLU62eLV4lWgxxAy9FccpwKf8S0Lo5bD Vl1q8JN7WT+HrZLZJf1qfWbIqd7tbDabwMJCAxXGPe+Ll+32ehZjitceb8xNfEvmXbUHLJ w8+hS4mcDQXSOt8vsikg6YktZ1HH8BE= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=a0OxHuVW; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733808695; a=rsa-sha256; cv=none; b=qrLuJR+Dv/TqIqZ/fOYq/RlRCP42YzzCoIYpTESEasak4xBudRQHQ+RuZ9SdKOmCM0/sry U8wy/IxJqwCbXvT76D+wTRzPKXEbO4UpmUOa9pqHEX5n22RYTwaO2mPW9jNZj8m/GZY30E zrgzXSWtyGSQLyijkk36hpxNJb2cG+I= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Gw+FTs0IxbI0TUivHWQ4v/YMUdOEV6kkcJRQz1yZZAc=; b=a0OxHuVW148VUvlyRtJ70qpMPB TkRSl6IErOfSj+gxGBDMc224HtvbA+m2vxx/zLVLdq6AMF2LXyUmR+dQpxqJ2uTJLj6RdcUg8z9cT eqUXVkj7V/7hUAaAgg3t5nJWkFLGmRKIv02V7y4T8QHen218lXfzIprjofH6Ft9bhhYTpOf+dAaNh Li5wLl6s6CDszkaW81PEOHvk/eGQa40VE/SjcPxJiqcB4IgWjbAIfyCAM3y5cg/s+BJ3JaTUH0c/Z ORvegTjvqeWIi27cqbAMmWjCMWqX28WWVWHDip7YeE7sk87gYNTJXqt/U/mvN9qyWvx8biEVXYdhU 4vrWtyZA==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tKsqI-00000007CnB-1O1X; Tue, 10 Dec 2024 05:31:30 +0000 Date: Tue, 10 Dec 2024 05:31:30 +0000 From: Matthew Wilcox To: Alexei Starovoitov Cc: bpf@vger.kernel.org, andrii@kernel.org, memxor@gmail.com, akpm@linux-foundation.org, peterz@infradead.org, vbabka@suse.cz, bigeasy@linutronix.de, rostedt@goodmis.org, houtao1@huawei.com, hannes@cmpxchg.org, shakeel.butt@linux.dev, mhocko@suse.com, tglx@linutronix.de, tj@kernel.org, linux-mm@kvack.org, kernel-team@fb.com Subject: Re: [PATCH bpf-next v2 1/6] mm, bpf: Introduce __GFP_TRYLOCK for opportunistic page allocation Message-ID: References: <20241210023936.46871-1-alexei.starovoitov@gmail.com> <20241210023936.46871-2-alexei.starovoitov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241210023936.46871-2-alexei.starovoitov@gmail.com> X-Rspamd-Queue-Id: 673071C0007 X-Stat-Signature: 1s5hpcz4rxum7anwjfrkhg8kr6rqwymh X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1733808663-133976 X-HE-Meta: U2FsdGVkX1+rexTaHO/og4JjzB5z3mlaJW4jLYV4BbYeLi19pDB4+s0Hw0u44ErG4kjfO9dovrh0/llk21BUtqiLVSLyxxwpm70z8MYBV8d8G+TE+7h7f/l+gsVHQroAdNq6Vh84YIUwJN8wGHtUlHUZh6xGwsYqMjK7mb3STgX8uiTaS481+yaIPVS5e7yJwQXcRKVcnvFaDEXPdk7bKuroUAsxu2+0kuXt1kYZUbTd/qVDMPSGyI6qFCCyaT7ZvbjRF28bGSGYQ4roZ1yPuwVGhS43gT/wK8hXiinIFxSA/75FuCirtdljRDEmdm7epCiU0yJoAibp3PnUyjwf+nNttOtgawkh4hPt6NO7AB0I8GWJlgdbbwTdhl1sPoiQ8kGWdMQWH9YuE0welf+Dqfh2HfRT1hnSo2+CfMBYt8aWVuh/BsN7r5IW0WvVglE4USLJgxkV0I/Cft3HJ3nLJqcgQMfsZt+H3ZLQ1UA/K7SfSeSnxcrYUqGj6cL6PRYnZL5k572g15FudXAQk+BgrrbyJ6k+SERPuGS+vCJ+IXQMBkK7qn7gAbK7/WqbnHqWAUn9IPPXBfP9D76Xw4DB1/m3yELRAPe0fvbInVctoxs/XrWKIhZ+ByVxYVuqmjKgWA6mmVcOkwpMBbJZApiIj1rAY5AFueZmtRKEWsjeVoXh0+L0fuqvwTJ6xeClsB/rnPRn/1Jkn35VnyW4AAFrVE6GHiAaGbjglAMvy4zVSQmbzxlHyxNk6K9R83Ml7IjPYqRjiY3U7eSBSoP1b50kYdn0N08qtrnP3BNanXQzMgmCx7PWHWD7mYZXkkU8Rfgav8aP75pi1/MsfoxIMaev6dLwmYk5Q3EWZ/z5j3tUINoBDB5KHkq5kxaro6urggU4JB6WiO47YWNWQ7uHBC0CmNRcaP3nyiOGkosktaXvP4wV+sIG1VOoKpQ62HVOgz4bmH6HDSNIWrgpsa+7LzL QQXmCPsn DNeZdM/bSwmm9qq34KiWIFF0loQfvFCMXQrMWYLdNQkAHb/0rfuYhxomok3MAgk5NSrcnG9mRwj2eI9LSMX8m6gwHop4lJT2CcT5HH6b0eJgUNveuyXU9h0Ejvgktwuk/An+CLuRb9qZUTEJAhF5BkBtcD9HBOmZUv50QSeOkRUC60LBn6C4yrvKCUI3OxGLiL4J5EL08HUAeqGu/BACi38OoxhIC9RUOo4JLjXU8G1x7CKuPjnZVASYlD0qBTFYHCYqsgt3Wii189fSiRpH+efuyu8B8//GHI1u39WgAD5lupCoMLqyB84K20Fms/bho+FtXLrhdvf4fc5s4m1/OFy3BfLevAR+vpvDW X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 Mon, Dec 09, 2024 at 06:39:31PM -0800, Alexei Starovoitov wrote: > + if (preemptible() && !rcu_preempt_depth()) > + return alloc_pages_node_noprof(nid, > + GFP_NOWAIT | __GFP_ZERO, > + order); > + return alloc_pages_node_noprof(nid, > + __GFP_TRYLOCK | __GFP_NOWARN | __GFP_ZERO, > + order); [...] > @@ -4009,7 +4018,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask, unsigned int order) > * set both ALLOC_NON_BLOCK and ALLOC_MIN_RESERVE(__GFP_HIGH). > */ > alloc_flags |= (__force int) > - (gfp_mask & (__GFP_HIGH | __GFP_KSWAPD_RECLAIM)); > + (gfp_mask & (__GFP_HIGH | __GFP_KSWAPD_RECLAIM | __GFP_TRYLOCK)); It's not quite clear to me that we need __GFP_TRYLOCK to implement this. I was originally wondering if this wasn't a memalloc_nolock_save() / memalloc_nolock_restore() situation (akin to memalloc_nofs_save/restore), but I wonder if we can simply do: if (!preemptible() || rcu_preempt_depth()) alloc_flags |= ALLOC_TRYLOCK;