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 6CBFAC282DE for ; Thu, 13 Mar 2025 18:12:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 98EF5280018; Thu, 13 Mar 2025 14:12:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 940DA280010; Thu, 13 Mar 2025 14:12:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7B85D280018; Thu, 13 Mar 2025 14:12:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id F0345280010 for ; Thu, 13 Mar 2025 14:12:02 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1B31D1C7DB3 for ; Thu, 13 Mar 2025 18:12:04 +0000 (UTC) X-FDA: 83217321768.13.A52F566 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf21.hostedemail.com (Postfix) with ESMTP id A13BF1C000F for ; Thu, 13 Mar 2025 18:11:58 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=CWZRmk2e; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of 37B_TZwgKCL0mdfnpdqejrrjoh.frpolqx0-ppnydfn.ruj@flex--jackmanb.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=37B_TZwgKCL0mdfnpdqejrrjoh.frpolqx0-ppnydfn.ruj@flex--jackmanb.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741889518; 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=tRsJowh9EEZA56z2uUOhJ3rtTOtbuzhctlmDmyeE3Lo=; b=np8xAGDHIisBJIJddNouVAv/PTrMcPqP9lyiXJYT8L1X5RkTRsCSHGx7oqgGVP0c77dgzQ PzFbgxiyhxwavN4QI/DUtprwpLrykOFqenM1N7uaqVZqj/3yD9JnmirRE8DIJNEjpvE7gn 5Mf65iMCL6PWSHSWjJ8ULvv7m6J5POo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741889518; a=rsa-sha256; cv=none; b=hEFP4HE0FKJIl9HFzOehZkaxDGuPOP1tb4A5jptnGtYrAk9wPlgO93/AxpBgCj9ZDcd9Og vmj+ailvJAr8Jp69RphRUrlBoO3qAo8SLRK8S4/aBA8+39gbW0GLZlUX3/dLDdJDxklI1s wmDeGC1JqiW2XpGOOU5+xF32y4339rQ= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=CWZRmk2e; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of 37B_TZwgKCL0mdfnpdqejrrjoh.frpolqx0-ppnydfn.ruj@flex--jackmanb.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=37B_TZwgKCL0mdfnpdqejrrjoh.frpolqx0-ppnydfn.ruj@flex--jackmanb.bounces.google.com Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-438e4e9a53fso9453785e9.1 for ; Thu, 13 Mar 2025 11:11:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1741889517; x=1742494317; darn=kvack.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=tRsJowh9EEZA56z2uUOhJ3rtTOtbuzhctlmDmyeE3Lo=; b=CWZRmk2empf/JCNd7guXrW5371p4fsUj6hw/UvVoixFaTiwFv4oQyl3UxdSlCEtAJz kpxmV+6fyCAl8Gn+eL5I6JCSDjqJf5m6LAwSaTiXY83EtdqNmelzATYN4GELAAb3G4J1 TwQBRJfPUZ0W6QHiz/EORyGrZYBc6CsXEZEG2LOxDJi5PLOCcY3eRP0mwIjTOb0UajJe 6bEBN4yuJIlf4kFsnigaDYrL+oIghOW7+qSz4uQjwrL422ERcJuJuDLz500WJ8oaj4DJ 9GZS+uXLwk36wy+S6dgD+uA4dJHDK4cdeDXaRGJhlmmgEW2O2ckgv37pZtJL5mkSxulR Mlug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741889517; x=1742494317; 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=tRsJowh9EEZA56z2uUOhJ3rtTOtbuzhctlmDmyeE3Lo=; b=CzvooYhTPIbVLRDyZfSN5z4pirUoVgGEez417/Km/iiLQdqYdV+mESKeR9Pc/ukLtn /eyr0tYfe35U8UHEUFAwG+cMhgxa8QN/HWk+ht6Io9PFWFd5a9tb55h+5VnR5vQul483 TMp1sA0zXKBzVgAw3NhOrNyBkfXFeMpE1FkQ+JEAReg+DT/LIlKfdvAekBl/6GMFoJ/+ jC+PWdxDUPF27irpaB+P4dntrU38Y9gD1zeDMH4oe23K+5/WN4rLHfZDq2yNm4S2GVJF O1z3Yr3Irj1kYlRVSuCm9idoi3iTfeaiabGrn3EVqeKsd2mbBbzLTv9Z7KXVGGTEvM6b 8FPg== X-Forwarded-Encrypted: i=1; AJvYcCUxr/vFqs8p64Xu+iR4hlY7ox9GWzKId7RUpGt/B19W3kWoTh+lXTtQy61bgIr9qw1AkifanFElZQ==@kvack.org X-Gm-Message-State: AOJu0YyVdZiYmUu32ur5s0WTvQ5QujOfdvFSGjy3xsdxn96BApGSWynD DRslrqd/g7eE+FX36SRnhH7SGpeS7k1idwqBAZPGRYWrRVbJRNXCW19nc7/cIRfvk/Nv08GGlud ClLHVmDGdig== X-Google-Smtp-Source: AGHT+IFfyCsrs7ccNNldH6c3NwbPOVylewQWVrKq/G7/S6WFMNKzAcRUB4lJBTdyYKD3llafwzpnB+NDVR+YSw== X-Received: from wmbeq4.prod.google.com ([2002:a05:600c:8484:b0:43b:c967:2f53]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4f14:b0:43d:7a:471f with SMTP id 5b1f17b1804b1-43d01be7e4bmr134665765e9.18.1741889516996; Thu, 13 Mar 2025 11:11:56 -0700 (PDT) Date: Thu, 13 Mar 2025 18:11:27 +0000 In-Reply-To: <20250313-asi-page-alloc-v1-0-04972e046cea@google.com> Mime-Version: 1.0 References: <20250313-asi-page-alloc-v1-0-04972e046cea@google.com> X-Mailer: b4 0.14.2 Message-ID: <20250313-asi-page-alloc-v1-8-04972e046cea@google.com> Subject: [PATCH RFC HACKS 08/11] mm/page_alloc: Simplify gfp_migratetype() From: Brendan Jackman To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, Andrew Morton , David Rientjes , Vlastimil Babka , David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Mike Rapoport , Junaid Shahid , Reiji Watanabe , Patrick Bellasi , Brendan Jackman , Yosry Ahmed Content-Type: text/plain; charset="utf-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A13BF1C000F X-Stat-Signature: 33eitpyxadi1ncbjwnhtdyqeqk65dokp X-HE-Tag: 1741889518-91054 X-HE-Meta: U2FsdGVkX1+yecAQoajJ+i5/rV3o3YrTODKtFdrP7hRgTB4MY5Z0Q4VEzRaxScot5cmnw7PRi6vgBNmBhtCOuA62jUtuL6bmtVcPCfCGwtauJNhhhwZyt9rg9l/YJYaBT97Dd6VY5kMmWdw4mBfeJtGZIJYbMglbT9Pp8kk2skjkteKWx8LsL287LWQb+9DkXVVCha6FSK/Bd2mwBliu4YJXDmaYhxSC5nbNnHps+4XOSWX6wh4V2/g7yjJi7/t8rKXNjqfE2UasCrdXs8XidC4NOtpsRcC4f5PvRfqwq4Z2FgsG51yQh9qTbHgtcwLmA+QgS120L9xp/rTtwVvyPVaOd4e/32/mTLDngx6VuqD/MAsiLnxZBF2tZGiWPCx50W2t4Iueha9lzUeU3Unn5Yb0v8X5TJl72LQbe8B21R2vNhd2ZP5pKKSSWXlS0YT/Wi7Ldq7IlEvO+sFBDih0J8374vzpx70YWY9exOV0V1TE5zxsCn2yqSBL5nLz/v2KXct+shUBl/25FEJR2KvEfNOrhrcC53Hp/hVpNjKHOUAlG0CAndL7b3ARYoVpw0YXMoop24cE//ZHNagDfgr/qL2YBvMDSlvJ1fDUIBguYMFlrCy739s8yk3sn4uSg9HDvXBl7dqnotYyR+CrARCbLi6dpo0K2ecUjeq5PeKGY7OrVKj4BNDc9N8A07PCmzvwtmEsOBe8gArqMpOhStxEefjINHXDdat9qpfMwW8bwpFRVCERsm5KYterrwANhp9dDtzjRtAwDLcbO5Wb1KiqtHkBpLjaRruserGHvOSrBnH8aad+IPwWYXyGSSJvIxoP+V/h4vqBPGJRby3Ph4sYQnCTwGauhWtbbs+nSofHNjvGNnzA3+VWvHC9tcF2W6ITbvCR4Sw3oaAgbQCCpqQBbqfFZQLswG6gOD8qzTagXe+7b0elKHWPwscNMbyVVzyntbe0gphlqxpf+TEXB9e 7PiSBoUu VxZVo2fQTS5aLUN06lgyftvvDddFf/7ERiuyohwMkJU+o1xxQyIXP9IT7YdcugdYkaeYWPw8N5lMji1cdlaDpcJ4cE+S2G+5mafYFlJ4R9G3fQ622Ns+FyObvE3oxU/3QrqLehT3ZVYU9NanvFg7uQjVvbH61upa6T1vndwDU8j5tvIf9Jezwf0GXOrvhVaV9uJkzbVyBWAGmg4PT+CCIvqAt4VFxkchUBklx9PMby/ukY3gpvPGwaYASOUSi4GjDc79Z5gsn4tGIpCl8fvJxOo1zm+CUq55NsKIcGNIZH+S7D98BG1ORb0XBPNMRw04Rx9oJO1MnsGVx7+uceirMhTF5abwJMNY1H6fqlXaUa08aVnv8dDIhQP+3/NukDosn6qu2M35RkK6Rn9JkWiMwEhAknmciVx0B0RRA83aJsdYmM1CApxhvK0akPr3Ud4jzGZcrjXeNLQ0594408VNioglSXz+oPvGvVOh86klgG0+xWQTxAIiPftweeZtuF7eJYTUrYJ0hORAWHgq6uhoD3lLNl28pIMOqmwnLG5+HU7BpVy+uoJ1/2gVwEu3CeyJ6pyf4/51H4n8cMzG0l51RxJy6wtejh9lTp8P40XO2NnkNZPM= 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: This currently uses optimised bit-hacks to avoid conditional branches etc. For the purposes of the RFC, let's not get bogged down in those details - temporarily just drop the bit hacking. Signed-off-by: Brendan Jackman --- include/linux/gfp.h | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 6bb1a5a7a4ae3392c1cd39cb79271e05512adbeb..23289aa54b6c38a71a908e5a6e034828a75a3b66 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -14,25 +14,20 @@ struct mempolicy; /* Convert GFP flags to their corresponding migrate type */ #define GFP_MOVABLE_MASK (__GFP_RECLAIMABLE|__GFP_MOVABLE) -#define GFP_MOVABLE_SHIFT 3 static inline int gfp_migratetype(const gfp_t gfp_flags) { VM_WARN_ON((gfp_flags & GFP_MOVABLE_MASK) == GFP_MOVABLE_MASK); - BUILD_BUG_ON((1UL << GFP_MOVABLE_SHIFT) != ___GFP_MOVABLE); - BUILD_BUG_ON((___GFP_MOVABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_MOVABLE); - BUILD_BUG_ON((___GFP_RECLAIMABLE >> GFP_MOVABLE_SHIFT) != MIGRATE_RECLAIMABLE); - BUILD_BUG_ON(((___GFP_MOVABLE | ___GFP_RECLAIMABLE) >> - GFP_MOVABLE_SHIFT) != MIGRATE_HIGHATOMIC); if (unlikely(page_group_by_mobility_disabled)) return MIGRATE_UNMOVABLE; - /* Group based on mobility */ - return (__force unsigned long)(gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT; + switch (gfp_flags & GFP_MOVABLE_MASK) { + case __GFP_RECLAIMABLE: return MIGRATE_RECLAIMABLE; + case __GFP_MOVABLE: return MIGRATE_MOVABLE; + default: return MIGRATE_UNMOVABLE; + } } -#undef GFP_MOVABLE_MASK -#undef GFP_MOVABLE_SHIFT static inline bool gfpflags_allow_blocking(const gfp_t gfp_flags) { -- 2.49.0.rc1.451.g8f38331e32-goog