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 15ABFD68BF5 for ; Sat, 16 Nov 2024 19:42:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 193EF9C0018; Sat, 16 Nov 2024 14:42:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 101086B00D0; Sat, 16 Nov 2024 14:42:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE2369C0018; Sat, 16 Nov 2024 14:42:12 -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 D023A6B00B5 for ; Sat, 16 Nov 2024 14:42:12 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 57439C02D6 for ; Sat, 16 Nov 2024 19:42:12 +0000 (UTC) X-FDA: 82792977876.26.E200379 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP id 61264180008 for ; Sat, 16 Nov 2024 19:41:23 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Pf59OvQL; spf=none (imf16.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731786072; 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=fZGbomyZu6zTnQ62uppZtmdlye3OKIH3UwVWExVH2Og=; b=Lm2gVYShKexpp2sIFXC3Z+Epu2x+i0OFjmAjngG5AsjqteOQ8uXK2d2aITrTSisfmSU4Of BodSBUhXssK4VMeaSZ1NaoTfvEw03FO2Q2aWss+eBZRh8Rq75Ww6Rwx3pHkTEwLEmFNdkA 16dqeqgbPy6IdXiZ/XtsBICVpGcBeSs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731786072; a=rsa-sha256; cv=none; b=5+UeU8jHNIzVLpE+u2oULoCSjQMbOlidz2P8kZD29M8+/9rb47gZfOQt8phZRep7Tx1qqP +28txOXhQqRm9+e443D8nmL56JXjX7XGpJjotLshEx5NuZlS2RCmNMFOsgr/xglr5CAxz/ k1I6rZL78dxdJ6/GmcUssg4JkOpoPzA= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Pf59OvQL; spf=none (imf16.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none 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=fZGbomyZu6zTnQ62uppZtmdlye3OKIH3UwVWExVH2Og=; b=Pf59OvQLIcw4zdejI9rF5drxU0 /JJgKwV9K9jSEUZoWwOk0CKiGZRVoZGoui+2wTh+rfxUpAuPhvNC7HgmSz4Vbmrzef8R6DXtl7xCS Ggh3lYFoVfKLIgsJ25HlD3UPUAtSZen2xpthm7kjsILNIRoQH8zgi5ZdMx03o8BF2r11GyzGcOYrl em+8jK/As7HVPrjh4GlWQpD5xOae0nO+DJUAYAjUb3RfLuyoRgq9630Ny25x6Jxk5Y/SF9mKrx0gT xg7+ReZbuw1jptTEU53r3EwOidiinwB0ERPurLC//To4v7sCdTsvMfha275fdzmHdTgrsviKzvGYz EDlqEaKA==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.98 #2 (Red Hat Linux)) id 1tCOgD-00000001P4Y-1DrO; Sat, 16 Nov 2024 19:42:02 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id 23668300472; Sat, 16 Nov 2024 20:42:02 +0100 (CET) Date: Sat, 16 Nov 2024 20:42:02 +0100 From: Peter Zijlstra To: Alexei Starovoitov Cc: bpf@vger.kernel.org, andrii@kernel.org, memxor@gmail.com, akpm@linux-foundation.org, vbabka@suse.cz, houtao1@huawei.com, hannes@cmpxchg.org, shakeel.butt@linux.dev, mhocko@suse.com, tj@kernel.org, linux-mm@kvack.org, kernel-team@fb.com Subject: Re: [PATCH bpf-next 1/2] mm, bpf: Introduce __GFP_TRYLOCK for opportunistic page allocation Message-ID: <20241116194202.GR22801@noisy.programming.kicks-ass.net> References: <20241116014854.55141-1-alexei.starovoitov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241116014854.55141-1-alexei.starovoitov@gmail.com> X-Stat-Signature: wr6isoisfz4tjip3g7qxpz3nuxukom7d X-Rspam-User: X-Rspamd-Queue-Id: 61264180008 X-Rspamd-Server: rspam02 X-HE-Tag: 1731786083-625753 X-HE-Meta: U2FsdGVkX1+lwR8sAm/EmGtSIkfb48aMOUkqghUqecgxTOxMHbMUu6S8YH44OpNj6WZVeH+we5O9jiVJZHMJ0IwQHDSmlN/ohA+j7LR4b/M07trE3x7b/QnsTw+RqYiNGtiAgiTJtmxXVEm4KPcIAajd+DeQibqAF6xGbeLlkFBOAxvfLEvhg+KIiFFiWAtV83FennLirClZF1o4ZtUdNDIHT/AdijlANLVssRQaaUj8PRhL1ThRNNzNycjSlOyahW8lgiawIZg5/P4oaDOGNAshAr5W8rIAro+hIW2BPFHJBDlR0qHFkTqmQVwJSEeE39K2jZb4/q3h7VNbpCzY7f3lXVG0zrTaqOgMy+gqGUwsH13n1orNiHFNGaTD4RMZ1dqHKXXCHM/S4n/sB89ay5ZoKClsyyIu7nsauO9UFpMJtFqk5sApteu5PeQQTDFzmGHorKOWgCQ+ReQfdrfjZs4PtyNgn2KXSZJ1YpDf6njjaI+zZ1HdpV7KbjEPV7LwvuvolUcXB2+fFpqHHy8NVDvL5HERCKu1EIRY22u96iazkXJQKztBsFomnSJO2Mv0BwQOsvDmD2f7txRPznmWGWenfr/fwBMHKo3UJNZwYbwF7+z3kwEl22d2gH/9BSrmb1M8CoMPNGkZEq9vGvDA0g71axGSh2Gpg+uFpKnqlsJxrMdRVZFIFv/ZGs+/D2k6EgBrckQiR2GBS5izRUjyWQzL6qa6kfwAuNx/MiVGcS257UgadUZY0Pb99d67sHtLbdbqJWr5ERvWRGBB30+f/SD9krW4C9EUy0XLJxK0GSLSoiaMTehUgKhtob+exNbd0OnJfnyFzc+Gg+q91qRwpUQgV2HnoTvt0sEnObH/JFYEJd5wZeaqhbYTnNmylFXWMyhvp+cWCxU9pUWI0E4/uJIL9o3ORHyOxTlIWO6eL/Odc3IpcTVRGUmvN0rSA014BGDm/zRyrOlYb+o28Lj 18CFgvV8 0TrUtb7S3s9hTBKzB6wva8bUkPA21w1sXvY7JQyI6SY1488K7oUjRSyJOpQV6ae4sehcwavy0cZ3qoPgAx6UWimc4pRxA5alS7Xl9gJlQi9k6IuOUS5vocSF1cLYDuz7z6YR4XVyb0RTx6iuJv26qV8o97ulvq04LLJa3Wg2zqmwIZv8jpEiHao5GJ7msVGiah49qrzvmxvhVmFOSN5QvUhwRcB88Lx5EVH3tRSq9GUVbX+wtYW5+fU8ocl2AdEFPK+71O5bvLIMvsEcjllQnzBg8xOkbPiy0gk/LGs4l3ArZlHXI7t92DiXdDNJ1nNPt3LxMLByah4aEe0oPwNkho+Gt+Lqi0Vm10R8gkoyK0yC2uns= 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 Fri, Nov 15, 2024 at 05:48:53PM -0800, Alexei Starovoitov wrote: > +static inline struct page *try_alloc_page_noprof(int nid) > +{ > + /* If spin_locks are not held and interrupts are enabled, use normal path. */ > + if (preemptible()) > + return alloc_pages_node_noprof(nid, GFP_NOWAIT | __GFP_ZERO, 0); This isn't right for PREEMPT_RT, spinlock_t will be preemptible, but you very much do not want regular allocation calls while inside the allocator itself for example. > + /* > + * Best effort allocation from percpu free list. > + * If it's empty attempt to spin_trylock zone->lock. > + * Do not specify __GFP_KSWAPD_RECLAIM to avoid wakeup_kswapd > + * that may need to grab a lock. > + * Do not specify __GFP_ACCOUNT to avoid local_lock. > + * Do not warn either. > + */ > + return alloc_pages_node_noprof(nid, __GFP_TRYLOCK | __GFP_NOWARN | __GFP_ZERO, 0); > +}