From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C08D40800D for ; Mon, 29 Jun 2026 13:12:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782738739; cv=none; b=OM5+OV/ktbRUCL4IxM2eEib3QeXdhznRQcn06kw3GUON3F0E42jPcgusE6R5deu7vQUAx9GhVKPkEX8u/mD20pJJW4IsvH3tONzKuOW1QRU7B0n6tivSGSKKVdJkxdiVGxkcETilHfYN10SI/5oCzB5AvCFMruT8dulttJY/7Os= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782738739; c=relaxed/simple; bh=DJgtLoLFxl+NXdMiAZrwFH2gUDCuLRtu08yOJGmouxo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=XyRN4GC20UB/QJmV0Fst8hT7XL7cCOd1cHDMkVNeaDCIOgEteEbYmeVXC9wjifWBnH+MRHVBmE9dQAoQ1L2W3yyxE33HMSOBDVgbs/yE9qXp9bK3Awyfgk3pIMla7BSNtQoajq3WgvrjFf98tFrTzKr1o905lu5Ps8cgWgPLGTM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=jJuzeU+9; arc=none smtp.client-ip=209.85.221.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="jJuzeU+9" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-4629f312a67so2854597f8f.2 for ; Mon, 29 Jun 2026 06:12:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1782738737; x=1783343537; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=kXmwXBBDrQxZmyWMThtaoSC2dpVKxqRifyMJMMj9Lxs=; b=jJuzeU+91pj5UrITlKPwsk4bO5MktVP6z1gmzEs0NyD+xczAknMoa3wLmvbm7aWVaI Tlx6D3rgiIRDM+zL++QlUAG7gUQyodkeZkb3R9CJ78NvDNjSb9Yngyay4iwmMQ80RSc4 Sr3cJgFfYff0PFYa0LYJCeYRGJBmhKqOv+Dawt3t1yG74U1IszWrXunK9acHJAWdRsXx v/FABs2orr+TBeaxmdx42P2EZQ0h/8NOvN5KHFdUpC0/MrTqlSgkWg1YMJ9bLDsId+1T I5DzjhImE/c6Mt6EhWlkS8Bp5Sp6wncTQbou3xGLMjnKoP0BlYoNtPTVqqdirF/6jMGh 1PnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782738737; x=1783343537; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kXmwXBBDrQxZmyWMThtaoSC2dpVKxqRifyMJMMj9Lxs=; b=Ols0NhMNTg8rgK21Zx7Mi4xzfVIi63fhyvxYTvNWE68fqt8xnhPjG743ES3dD2rGmC 3X5Mf/6/EK6HTeWZGxxH5TYe00wsIWhlBybKs+1IpBQ/Xa+h9aAVFC6VH2/1ANOhW8EY 0GVVqXnhl1LMxVRMHWM3Q5YHXiR19rZ258xH2hcliS9ulJREqcf57r4kmDknW+ku9q5j 5XXflH6KSr8mFTXYc+AgvyR/BzMTZklv11qL+zS2DPzEFuuiFksHLs0pbjsUl+c6rmtX qOn2WSxIG+WLxYms0rjoGWVrhlhmiKHznEAvTqIP7MOtpX1NNVoEZ3D+GUhhLT3oHzq2 sn/w== X-Forwarded-Encrypted: i=1; AHgh+RqvRD1U2evN1cqdgR1IVpNBFTU+WN7eZvrdfvACuu1Jemjgb1twtNCh/+dpp/YW6jK+oHkBk+LQZK7wK2c=@vger.kernel.org X-Gm-Message-State: AOJu0Yy51VuZgZsuFO1mgKPKonn1/r2s6ls+JlIqGTVKeO2lOqmCKpdx qXz2stf8Enen6hMXMuPpBclNP0GibWqACMrmVxcFIeipzSMeeia7G3FhpTGZUbXCQUek5PVoj3J m/ABArFoW8EVi4g== X-Received: from wrqa1.prod.google.com ([2002:adf:f7c1:0:b0:462:5eaf:a858]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6000:4383:b0:43d:dd:8ca4 with SMTP id ffacd0b85a97d-46dbf9bf20emr28190928f8f.14.1782738736093; Mon, 29 Jun 2026 06:12:16 -0700 (PDT) Date: Mon, 29 Jun 2026 13:11:51 +0000 In-Reply-To: <20260629-alloc-trylock-v3-0-57bef0eadbc2@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260629-alloc-trylock-v3-0-57bef0eadbc2@google.com> X-Mailer: b4 0.15.2 Message-ID: <20260629-alloc-trylock-v3-2-57bef0eadbc2@google.com> Subject: [PATCH v3 02/16] mm/page_alloc: some renames to clarify alloc_flags scopes From: Brendan Jackman To: Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Johannes Weiner , Zi Yan , Muchun Song , Oscar Salvador , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Mike Rapoport , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Ying Huang , Alistair Popple , Hao Li , Christoph Lameter , David Rientjes , Roman Gushchin , Sebastian Andrzej Siewior , Clark Williams , Steven Rostedt Cc: "Harry Yoo (Oracle)" , Gregory Price , Johannes Weiner , Alexei Starovoitov , Matthew Wilcox , Hao Ge , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev, Brendan Jackman Content-Type: text/plain; charset="utf-8" It's pretty confusing that: - The slowpath and fastpath have a totally distinct set of alloc_flags. - gfp_to_alloc_flags() sounds generic but it only influences the slowpath. Rename some variables to highlight which alloc_flags are fastpath-specific. Rename gfp_to_alloc_flags() to highlight that it's slowpath-specific. gfp_to_alloc_flags_cma() and gfp_to_alloc_flags_nonblocking() currently have perfectly harmless names, but to keep the naming consistent also rename those to the alloc_flags_*() pattern (which already exists for alloc_flags_nofragment()). Signed-off-by: Brendan Jackman --- mm/page_alloc.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 421271849f291..6010693861ec2 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3774,8 +3774,8 @@ alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask) } /* Must be called after current_gfp_context() which can change gfp_mask */ -static inline unsigned int gfp_to_alloc_flags_cma(gfp_t gfp_mask, - unsigned int alloc_flags) +static inline unsigned int alloc_flags_cma(gfp_t gfp_mask, + unsigned int alloc_flags) { #ifdef CONFIG_CMA if (gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE) @@ -4474,7 +4474,7 @@ static void wake_all_kswapds(unsigned int order, gfp_t gfp_mask, } static inline unsigned int -gfp_to_alloc_flags_nonblocking(gfp_t gfp_mask, unsigned int order) +alloc_flags_nonblocking(gfp_t gfp_mask, unsigned int order) { unsigned int alloc_flags = 0; @@ -4497,7 +4497,7 @@ gfp_to_alloc_flags_nonblocking(gfp_t gfp_mask, unsigned int order) } static inline unsigned int -gfp_to_alloc_flags(gfp_t gfp_mask, unsigned int order) +alloc_flags_slowpath(gfp_t gfp_mask, unsigned int order) { unsigned int alloc_flags = ALLOC_WMARK_MIN | ALLOC_CPUSET; @@ -4512,7 +4512,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask, unsigned int order) if (gfp_mask & __GFP_KSWAPD_RECLAIM) alloc_flags |= ALLOC_KSWAPD; - alloc_flags |= gfp_to_alloc_flags_nonblocking(gfp_mask, order); + alloc_flags |= alloc_flags_nonblocking(gfp_mask, order); if (!(gfp_mask & __GFP_DIRECT_RECLAIM)) { /* @@ -4525,7 +4525,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask, unsigned int order) } else if (unlikely(rt_or_dl_task(current)) && in_task()) alloc_flags |= ALLOC_MIN_RESERVE; - alloc_flags = gfp_to_alloc_flags_cma(gfp_mask, alloc_flags); + alloc_flags = alloc_flags_cma(gfp_mask, alloc_flags); if (defrag_mode) alloc_flags |= ALLOC_NOFRAGMENT; @@ -4791,7 +4791,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, * kswapd needs to be woken up, and to avoid the cost of setting up * alloc_flags precisely. So we do that now. */ - alloc_flags = gfp_to_alloc_flags(gfp_mask, order); + alloc_flags = alloc_flags_slowpath(gfp_mask, order); /* * We need to recalculate the starting point for the zonelist iterator @@ -4832,7 +4832,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, reserve_flags = __gfp_pfmemalloc_flags(gfp_mask); if (reserve_flags) - alloc_flags = gfp_to_alloc_flags_cma(gfp_mask, reserve_flags) | + alloc_flags = alloc_flags_cma(gfp_mask, reserve_flags) | (alloc_flags & ALLOC_KSWAPD); /* @@ -5063,7 +5063,7 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order, should_fail_alloc_page(gfp_mask, order)) return false; - *alloc_flags = gfp_to_alloc_flags_cma(gfp_mask, *alloc_flags); + *alloc_flags = alloc_flags_cma(gfp_mask, *alloc_flags); /* Dirty zone balancing only done in the fast path */ ac->spread_dirty_pages = (gfp_mask & __GFP_WRITE); @@ -5277,7 +5277,7 @@ struct page *__alloc_frozen_pages_noprof(gfp_t gfp, unsigned int order, int preferred_nid, nodemask_t *nodemask) { struct page *page; - unsigned int alloc_flags = ALLOC_WMARK_LOW; + unsigned int fastpath_alloc_flags = ALLOC_WMARK_LOW; gfp_t alloc_gfp; /* The gfp_t that was actually used for allocation */ struct alloc_context ac = { }; @@ -5299,18 +5299,18 @@ struct page *__alloc_frozen_pages_noprof(gfp_t gfp, unsigned int order, gfp = current_gfp_context(gfp); alloc_gfp = gfp; if (!prepare_alloc_pages(gfp, order, preferred_nid, nodemask, &ac, - &alloc_gfp, &alloc_flags)) + &alloc_gfp, &fastpath_alloc_flags)) return NULL; /* * Forbid the first pass from falling back to types that fragment * memory until all local zones are considered. */ - alloc_flags |= alloc_flags_nofragment(zonelist_zone(ac.preferred_zoneref), gfp); - alloc_flags |= gfp_to_alloc_flags_nonblocking(gfp, order) & ALLOC_HIGHATOMIC; + fastpath_alloc_flags |= alloc_flags_nofragment(zonelist_zone(ac.preferred_zoneref), gfp); + fastpath_alloc_flags |= alloc_flags_nonblocking(gfp, order) & ALLOC_HIGHATOMIC; /* First allocation attempt */ - page = get_page_from_freelist(alloc_gfp, order, alloc_flags, &ac); + page = get_page_from_freelist(alloc_gfp, order, fastpath_alloc_flags, &ac); if (likely(page)) goto out; -- 2.54.0