From patchwork Wed Aug 23 13:13:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandru Elisei X-Patchwork-Id: 13362281 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 A8E5DEE4993 for ; Wed, 23 Aug 2023 13:14:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A00A900024; Wed, 23 Aug 2023 09:14:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 34FAC8E0011; Wed, 23 Aug 2023 09:14:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F07E900024; Wed, 23 Aug 2023 09:14:31 -0400 (EDT) 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 0FB248E0011 for ; Wed, 23 Aug 2023 09:14:31 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E558D16010E for ; Wed, 23 Aug 2023 13:14:30 +0000 (UTC) X-FDA: 81155413500.06.D0C763A Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf30.hostedemail.com (Postfix) with ESMTP id 13DBE80004 for ; Wed, 23 Aug 2023 13:14:28 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692796469; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3PTixGCuQdqP16ZuJENwZtq1IDL1MOp3N0SmIUR/L8c=; b=lwX5SM6rk0a1XHcpkAx1rUWnq3X2kgDqDEIo96FSIp0E2YTuw9qvafY+GzKNYjR6oYVHkg 8XxQoc8EFyAiDhSUCTNqfZ4HfyiU+nQzF+PntsK0yOCPizSgaoO16+G4XCx+NMOahDjiEd GuzGxPG/4987XDvnmzu/Nko8kiTzR3A= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; spf=pass (imf30.hostedemail.com: domain of alexandru.elisei@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=alexandru.elisei@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692796469; a=rsa-sha256; cv=none; b=TQQ7QQ+eDT+lwiK3HE7nFgNVZ+zdkcpLOJdKTmXNAnVPVyn8VSjb8j1qrQOerAUCGqxMuI R5GKFVMJ/B+dwtjjWAGQ1cXtVTrUmD9SWKQozmLJmS9pZLpCP7ECvYl1hFggURft14sswS CIOJUB84QJxbf5n9JhDC7dr4aYzSjZs= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DC3DF1516; Wed, 23 Aug 2023 06:15:08 -0700 (PDT) Received: from e121798.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7BE823F740; Wed, 23 Aug 2023 06:14:22 -0700 (PDT) From: Alexandru Elisei To: catalin.marinas@arm.com, will@kernel.org, oliver.upton@linux.dev, maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, arnd@arndb.de, akpm@linux-foundation.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, mhiramat@kernel.org, rppt@kernel.org, hughd@google.com Cc: pcc@google.com, steven.price@arm.com, anshuman.khandual@arm.com, vincenzo.frascino@arm.com, david@redhat.com, eugenis@google.com, kcc@google.com, hyesoo.yu@samsung.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH RFC 03/37] arm64: mte: Rename __GFP_ZEROTAGS to __GFP_TAGGED Date: Wed, 23 Aug 2023 14:13:16 +0100 Message-Id: <20230823131350.114942-4-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230823131350.114942-1-alexandru.elisei@arm.com> References: <20230823131350.114942-1-alexandru.elisei@arm.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 13DBE80004 X-Rspam-User: X-Stat-Signature: zrg6kxf5n3b7xrmg18nzqchbg78keoir X-Rspamd-Server: rspam01 X-HE-Tag: 1692796468-529990 X-HE-Meta: U2FsdGVkX1+cEIZUjKxHCa2W6ZK/aRfuzrXLOBheOOfN+7e4zGOqgFgq8paJl9XU9pf96r6JnQldVi0FrF0NOTrNcwakFiVRpaWb10I6BgLW1NkqHbTh1MFw1rBmf/DKApk7+tmDjxnRuR4gSWu2vVdDbVYJ7mXWv8f2pmfvfjSqLM0B07RVoGzxtrszZjy4OZh3KTHJaX89eRpPDLs43V7/yAnw7DWeNauCWUlOujYgQzJVOxAbDMigy4+Uaebn0QxQlyTlci9sjBumMlmLuDGVtYIqLt4u8TeWFSFtDOp09eGWL+3JwGd+sY8FAM1PGnuapEOCqBRcV1eku3NdzcXosqlHFrKtMIjd+gHyxm4CyjyOiirsF8Zd8BUeVuC8XclTl3pLY2pphbPBL2HYaWW9OlzhwfqhEFFmuhm9kVD964MVpuZtv1ILp5g11sFOA30Gb5wdOnvXkMxZamTvOde1OoKeJHkjPJAY/x6NHBKAqKEcKmYLzQzZeL7qMuEnaB72sSP1kekI876JjvhdttWbs3duluqlsFhYOTe73Rpj8xswqKApbac7uCAS9RsA1ALbOLKkNx2F+xI/oTpq0OwtlVQK9Cn4eZBktkjHxZKFNuIyjD9rMG3nOIs2oa+SHJgj3dN43KACNYfpC7O9Mi58TqU31JqOFH7AAoDAIiJjtc6J+XLCdcELTDMzCq6LS7IEdWUq3/vVsJ4PcwpGHa5sij/R2/TGnOr4pjIzrKRyVVu/N8t0EiTd0IMWZkojtHy6V3fNBbzgz6Oc7p7rE/IemiydjDikz73nE9B0GSd48QNGgJq36mtA3rDy76u1gmZTi5/0G+0RD5J4QZGk8sZzLpa8qH/ZjfeZ003Hmuhjd8b3sV3WUx8bjkKD4UcOxxhx+L+vFEhUt8mlHyY/tuMmGAR5OuWPP5VaMI2SvqHuGQx8QDfLit4eV/Y0TLZkxNvZfJ3f3PgMQrfdbPN XEqFUff1 ciXc1YiIWVj/5revYj/9gnt+LTGFiAyrxgG2wBqD2Q6E3fwBOZb2VhaTkw+VVCnECSG7So50S9yj5S5GQhf6incKxWSvxB8WI7Dp63oHDQj218yqR586oj+ChP8/dGJtY4lCT+K9GvGN7LCj5YNkkq0NICGWHAh2f7zwgFyYMITQtszynW1YCX6RiFWr7LQFMR1ueBgiaZSvyxO4= 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: __GFP_ZEROTAGS is used to instruct the page allocator to zero the tags at the same time as the physical frame is zeroed. The name can be slightly misleading, because it doesn't mean that the code will zero the tags unconditionally, but that the tags will be zeroed if and only if the physical frame is also zeroed (either __GFP_ZERO is set or init_on_alloc is 1). Rename it to __GFP_TAGGED, in preparation for it to be used by the page allocator to recognize when an allocation is tagged (has metadata). Signed-off-by: Alexandru Elisei --- arch/arm64/mm/fault.c | 2 +- include/linux/gfp_types.h | 14 +++++++------- include/trace/events/mmflags.h | 2 +- mm/page_alloc.c | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 3fe516b32577..0ca89ebcdc63 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -949,7 +949,7 @@ struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, * separate DC ZVA and STGM. */ if (vma->vm_flags & VM_MTE) - flags |= __GFP_ZEROTAGS; + flags |= __GFP_TAGGED; return vma_alloc_folio(flags, 0, vma, vaddr, false); } diff --git a/include/linux/gfp_types.h b/include/linux/gfp_types.h index 6583a58670c5..37b9e265d77e 100644 --- a/include/linux/gfp_types.h +++ b/include/linux/gfp_types.h @@ -45,7 +45,7 @@ typedef unsigned int __bitwise gfp_t; #define ___GFP_HARDWALL 0x100000u #define ___GFP_THISNODE 0x200000u #define ___GFP_ACCOUNT 0x400000u -#define ___GFP_ZEROTAGS 0x800000u +#define ___GFP_TAGGED 0x800000u #ifdef CONFIG_KASAN_HW_TAGS #define ___GFP_SKIP_ZERO 0x1000000u #define ___GFP_SKIP_KASAN 0x2000000u @@ -226,11 +226,11 @@ typedef unsigned int __bitwise gfp_t; * * %__GFP_ZERO returns a zeroed page on success. * - * %__GFP_ZEROTAGS zeroes memory tags at allocation time if the memory itself - * is being zeroed (either via __GFP_ZERO or via init_on_alloc, provided that - * __GFP_SKIP_ZERO is not set). This flag is intended for optimization: setting - * memory tags at the same time as zeroing memory has minimal additional - * performace impact. + * %__GFP_TAGGED marks the allocation as having tags, which will be zeroed it + * allocation time if the memory itself is being zeroed (either via __GFP_ZERO + * or via init_on_alloc, provided that __GFP_SKIP_ZERO is not set). This flag is + * intended for optimization: setting memory tags at the same time as zeroing + * memory has minimal additional performace impact. * * %__GFP_SKIP_KASAN makes KASAN skip unpoisoning on page allocation. * Used for userspace and vmalloc pages; the latter are unpoisoned by @@ -241,7 +241,7 @@ typedef unsigned int __bitwise gfp_t; #define __GFP_NOWARN ((__force gfp_t)___GFP_NOWARN) #define __GFP_COMP ((__force gfp_t)___GFP_COMP) #define __GFP_ZERO ((__force gfp_t)___GFP_ZERO) -#define __GFP_ZEROTAGS ((__force gfp_t)___GFP_ZEROTAGS) +#define __GFP_TAGGED ((__force gfp_t)___GFP_TAGGED) #define __GFP_SKIP_ZERO ((__force gfp_t)___GFP_SKIP_ZERO) #define __GFP_SKIP_KASAN ((__force gfp_t)___GFP_SKIP_KASAN) diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h index 1478b9dd05fa..4ccca8e73c93 100644 --- a/include/trace/events/mmflags.h +++ b/include/trace/events/mmflags.h @@ -50,7 +50,7 @@ gfpflag_string(__GFP_RECLAIM), \ gfpflag_string(__GFP_DIRECT_RECLAIM), \ gfpflag_string(__GFP_KSWAPD_RECLAIM), \ - gfpflag_string(__GFP_ZEROTAGS) + gfpflag_string(__GFP_TAGGED) #ifdef CONFIG_KASAN_HW_TAGS #define __def_gfpflag_names_kasan , \ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e6f950c54494..fdc230440a44 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1516,7 +1516,7 @@ inline void post_alloc_hook(struct page *page, unsigned int order, { bool init = !want_init_on_free() && want_init_on_alloc(gfp_flags) && !should_skip_init(gfp_flags); - bool zero_tags = init && (gfp_flags & __GFP_ZEROTAGS); + bool zero_tags = init && (gfp_flags & __GFP_TAGGED); int i; set_page_private(page, 0);