From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Luo Jie <quic_luoj@quicinc.com>
Cc: Yury Norov <yury.norov@gmail.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Julia Lawall <Julia.Lawall@inria.fr>,
Nicolas Palix <nicolas.palix@imag.fr>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oliver.upton@linux.dev>,
Joey Gouly <joey.gouly@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
linux-kernel@vger.kernel.org, cocci@inria.fr,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
andrew@lunn.ch, quic_kkumarcs@quicinc.com,
quic_linchen@quicinc.com, quic_leiwei@quicinc.com,
quic_suruchia@quicinc.com, quic_pavir@quicinc.com
Subject: Re: [cocci] [PATCH v3 3/6] arm64: tlb: Convert the opencoded field modify
Date: Thu, 17 Apr 2025 19:11:06 +0100 [thread overview]
Message-ID: <aAFEOr_PnZRH2ocR@shell.armlinux.org.uk> (raw)
In-Reply-To: <20250417-field_modify-v3-3-6f7992aafcb7@quicinc.com>
On Thu, Apr 17, 2025 at 06:47:10PM +0800, Luo Jie wrote:
> Replaced below code with the wrapper FIELD_MODIFY(MASK, ®, val)
> - reg &= ~MASK;
> - reg |= FIELD_PREP(MASK, val);
> The semantic patch that makes this change is available
> in scripts/coccinelle/misc/field_modify.cocci.
>
> More information about semantic patching is available at
> https://coccinelle.gitlabpages.inria.fr/website
>
> Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
> ---
> arch/arm64/include/asm/tlbflush.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h
> index eba1a98657f1..0d250ef4161c 100644
> --- a/arch/arm64/include/asm/tlbflush.h
> +++ b/arch/arm64/include/asm/tlbflush.h
> @@ -112,8 +112,7 @@ static inline unsigned long get_trans_granule(void)
> level >= 0 && level <= 3) { \
> u64 ttl = level & 3; \
> ttl |= get_trans_granule() << 2; \
> - arg &= ~TLBI_TTL_MASK; \
> - arg |= FIELD_PREP(TLBI_TTL_MASK, ttl); \
> + FIELD_MODIFY(TLBI_TTL_MASK, &arg, ttl); \
This could equally be:
arg = u64_replace_bits(arg, ttl, TLBI_TTL_MASK);
which already exists, so doesn't require a new macro to be introduced.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
WARNING: multiple messages have this Message-ID (diff)
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Luo Jie <quic_luoj@quicinc.com>
Cc: Yury Norov <yury.norov@gmail.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Julia Lawall <Julia.Lawall@inria.fr>,
Nicolas Palix <nicolas.palix@imag.fr>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>,
Oliver Upton <oliver.upton@linux.dev>,
Joey Gouly <joey.gouly@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>,
linux-kernel@vger.kernel.org, cocci@inria.fr,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
andrew@lunn.ch, quic_kkumarcs@quicinc.com,
quic_linchen@quicinc.com, quic_leiwei@quicinc.com,
quic_suruchia@quicinc.com, quic_pavir@quicinc.com
Subject: Re: [PATCH v3 3/6] arm64: tlb: Convert the opencoded field modify
Date: Thu, 17 Apr 2025 19:11:06 +0100 [thread overview]
Message-ID: <aAFEOr_PnZRH2ocR@shell.armlinux.org.uk> (raw)
In-Reply-To: <20250417-field_modify-v3-3-6f7992aafcb7@quicinc.com>
On Thu, Apr 17, 2025 at 06:47:10PM +0800, Luo Jie wrote:
> Replaced below code with the wrapper FIELD_MODIFY(MASK, ®, val)
> - reg &= ~MASK;
> - reg |= FIELD_PREP(MASK, val);
> The semantic patch that makes this change is available
> in scripts/coccinelle/misc/field_modify.cocci.
>
> More information about semantic patching is available at
> https://coccinelle.gitlabpages.inria.fr/website
>
> Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
> ---
> arch/arm64/include/asm/tlbflush.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h
> index eba1a98657f1..0d250ef4161c 100644
> --- a/arch/arm64/include/asm/tlbflush.h
> +++ b/arch/arm64/include/asm/tlbflush.h
> @@ -112,8 +112,7 @@ static inline unsigned long get_trans_granule(void)
> level >= 0 && level <= 3) { \
> u64 ttl = level & 3; \
> ttl |= get_trans_granule() << 2; \
> - arg &= ~TLBI_TTL_MASK; \
> - arg |= FIELD_PREP(TLBI_TTL_MASK, ttl); \
> + FIELD_MODIFY(TLBI_TTL_MASK, &arg, ttl); \
This could equally be:
arg = u64_replace_bits(arg, ttl, TLBI_TTL_MASK);
which already exists, so doesn't require a new macro to be introduced.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2025-04-23 8:51 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-17 10:47 [cocci] [PATCH v3 0/6] Add FIELD_MODIFY() helper Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-17 10:47 ` [cocci] [PATCH v3 1/6] bitfield: " Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-18 17:11 ` [cocci] " Yury Norov
2025-04-18 17:11 ` Yury Norov
2025-04-23 13:05 ` [cocci] " Jie Luo
2025-04-23 13:05 ` Jie Luo
2025-04-17 10:47 ` [cocci] [PATCH v3 2/6] coccinelle: misc: Add field_modify script Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-23 11:01 ` [cocci] " Markus Elfring
2025-04-23 13:04 ` Jie Luo
2025-04-23 16:35 ` Markus Elfring
2025-05-19 13:44 ` Luo Jie
2025-05-19 15:39 ` Julia Lawall
2025-04-17 10:47 ` [cocci] [PATCH v3 3/6] arm64: tlb: Convert the opencoded field modify Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-17 18:11 ` Russell King (Oracle) [this message]
2025-04-17 18:11 ` Russell King (Oracle)
2025-04-23 13:15 ` [cocci] " Jie Luo
2025-04-23 13:15 ` Jie Luo
2025-04-24 15:24 ` [cocci] " Keller, Jacob E
2025-04-23 16:54 ` Keller, Jacob E
2025-04-17 10:47 ` [cocci] [PATCH v3 4/6] arm64: nvhe: " Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-17 11:23 ` [cocci] " Marc Zyngier
2025-04-17 11:23 ` Marc Zyngier
2025-04-18 15:14 ` [cocci] " Yury Norov
2025-04-18 15:14 ` Yury Norov
2025-04-18 15:34 ` [cocci] " Marc Zyngier
2025-04-18 15:34 ` Marc Zyngier
2025-04-23 17:48 ` [cocci] " Russell King (Oracle)
2025-04-23 17:48 ` Russell King (Oracle)
2025-04-23 18:27 ` [cocci] " Yury Norov
2025-04-23 18:27 ` Yury Norov
2025-04-23 19:11 ` [cocci] " Russell King (Oracle)
2025-04-23 19:11 ` Russell King (Oracle)
2025-04-23 19:40 ` [cocci] " Yury Norov
2025-04-23 19:40 ` Yury Norov
2025-04-17 10:47 ` [cocci] [PATCH v3 5/6] arm64: kvm: " Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-17 10:47 ` [cocci] [PATCH v3 6/6] arm64: mm: " Luo Jie
2025-04-17 10:47 ` Luo Jie
2025-04-17 11:10 ` [cocci] [PATCH v3 0/6] Add FIELD_MODIFY() helper Marc Zyngier
2025-04-17 11:10 ` Marc Zyngier
2025-04-17 17:22 ` [cocci] " Andrew Lunn
2025-04-17 17:22 ` Andrew Lunn
2025-04-17 17:45 ` [cocci] " Marc Zyngier
2025-04-17 17:45 ` Marc Zyngier
2025-04-18 15:08 ` [cocci] " Yury Norov
2025-04-18 15:08 ` Yury Norov
2025-04-18 15:35 ` [cocci] " Marc Zyngier
2025-04-18 15:35 ` Marc Zyngier
2025-04-18 17:04 ` [cocci] " Yury Norov
2025-04-18 17:04 ` Yury Norov
2025-04-23 13:19 ` [cocci] " Jie Luo
2025-04-23 13:19 ` Jie Luo
2025-04-23 17:44 ` [cocci] " Russell King (Oracle)
2025-04-23 17:44 ` Russell King (Oracle)
2025-04-23 18:44 ` [cocci] " Yury Norov
2025-04-23 18:44 ` Yury Norov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aAFEOr_PnZRH2ocR@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=Julia.Lawall@inria.fr \
--cc=andrew@lunn.ch \
--cc=catalin.marinas@arm.com \
--cc=cocci@inria.fr \
--cc=joey.gouly@arm.com \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=maz@kernel.org \
--cc=nicolas.palix@imag.fr \
--cc=oliver.upton@linux.dev \
--cc=quic_kkumarcs@quicinc.com \
--cc=quic_leiwei@quicinc.com \
--cc=quic_linchen@quicinc.com \
--cc=quic_luoj@quicinc.com \
--cc=quic_pavir@quicinc.com \
--cc=quic_suruchia@quicinc.com \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
--cc=yury.norov@gmail.com \
--cc=yuzenghui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.