[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260105163305.00002306@huawei.com>
Date: Mon, 5 Jan 2026 16:34:37 +0000
From: Jonathan Cameron <jonathan.cameron@...wei.com>
To: Ben Horgan <ben.horgan@....com>
CC: <amitsinght@...vell.com>, <baisheng.gao@...soc.com>,
<baolin.wang@...ux.alibaba.com>, <carl@...amperecomputing.com>,
<dave.martin@....com>, <david@...nel.org>, <dfustini@...libre.com>,
<fenghuay@...dia.com>, <gshan@...hat.com>, <james.morse@....com>,
<kobak@...dia.com>, <lcherian@...vell.com>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
<peternewman@...gle.com>, <punit.agrawal@....qualcomm.com>,
<quic_jiles@...cinc.com>, <reinette.chatre@...el.com>,
<rohit.mathew@....com>, <scott@...amperecomputing.com>,
<sdonthineni@...dia.com>, <tan.shaopeng@...itsu.com>,
<xhao@...ux.alibaba.com>, <catalin.marinas@....com>, <will@...nel.org>,
<corbet@....net>, <maz@...nel.org>, <oupton@...nel.org>,
<joey.gouly@....com>, <suzuki.poulose@....com>, <kvmarm@...ts.linux.dev>
Subject: Re: [PATCH v2 03/45] arm_mpam: Use non-atomic bitops when modifying
feature bitmap
On Fri, 19 Dec 2025 18:11:05 +0000
Ben Horgan <ben.horgan@....com> wrote:
> In the test__props_mismatch() kunit test we rely on the struct mpam_props
> being packed to ensure memcmp doesn't consider packing. Making it packed
> reduces the alignment of the features bitmap and so breaks a requirement
> for the use of atomics. As we don't rely on the set/clear of these bits
> being atomic, just make them non-atomic.
oh. That's a bit horrible.
Whilst I guess no one is likely to 'upgrade' these it feels odd enough that
I'd be tempted to leave a breadcrumb of a comment next to them on why
they must be the non atomic versions.
Reviewed-by: Jonathan Cameron <jonathan.cameron@...wei.com>
Jonathan
>
> Signed-off-by: Ben Horgan <ben.horgan@....com>
> ---
> drivers/resctrl/mpam_internal.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/resctrl/mpam_internal.h b/drivers/resctrl/mpam_internal.h
> index 17cdc3080d58..aaaf31ca9210 100644
> --- a/drivers/resctrl/mpam_internal.h
> +++ b/drivers/resctrl/mpam_internal.h
> @@ -200,8 +200,8 @@ struct mpam_props {
> } PACKED_FOR_KUNIT;
>
> #define mpam_has_feature(_feat, x) test_bit(_feat, (x)->features)
> -#define mpam_set_feature(_feat, x) set_bit(_feat, (x)->features)
> -#define mpam_clear_feature(_feat, x) clear_bit(_feat, (x)->features)
> +#define mpam_set_feature(_feat, x) __set_bit(_feat, (x)->features)
> +#define mpam_clear_feature(_feat, x) __clear_bit(_feat, (x)->features)
>
> /* The values for MSMON_CFG_MBWU_FLT.RWBW */
> enum mon_filter_options {
Powered by blists - more mailing lists