Re: [PATCH v8 07/21] x86/resctrl: Add end-marker to the resctrl_event_id enum

Luck, Tony
2025-04-15T18:56:03Z

On Fri, Apr 11, 2025 at 04:42:15PM +0000, James Morse wrote:
> The resctrl_event_id enum gives names to the counter event numbers on x86.
> These are used directly by resctrl.
>
> To allow the MPAM driver to keep an array of these the size of the enum
> needs to be known.
>
> Add a 'num_events' define which can be used to size an array. This isn't
> a member of the enum to avoid updating switch statements that would
> otherwise be missing a case.

I'm adding more events in this series:

https://lore.kernel.org/all/20250407234032.241215-1-tony.luck@intel.com/

Any switches in existing code would need to have a "default:" case
added because the new events are in the same "enum" but totally
unrelated to the existing events. Other code changes in that series
deleted many of the switches anyway.

Patch 23 in that series changes QOS_NUM_EVENTS from a #define
to the last element in the enum without any issues.

> Signed-off-by: James Morse <james.morse@arm.com>
> Tested-by: Carl Worth <carl@os.amperecomputing.com> # arm64
> Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
> Tested-by: Peter Newman <peternewman@google.com>
> Tested-by: Amit Singh Tomar <amitsinght@marvell.com> # arm64
> Tested-by: Shanker Donthineni <sdonthineni@nvidia.com> # arm64
> Tested-by: Babu Moger <babu.moger@amd.com>
> Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
> Reviewed-by: Tony Luck <tony.luck@intel.com>
> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
> Reviewed-by: Fenghua Yu <fenghuay@nvidia.com>
> ---
> include/linux/resctrl_types.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
> index f26450b3326b..654323066174 100644
> --- a/include/linux/resctrl_types.h
> +++ b/include/linux/resctrl_types.h
> @@ -51,4 +51,6 @@ enum resctrl_event_id {
> QOS_L3_MBM_LOCAL_EVENT_ID = 0x03,
> };
>
> +#define QOS_NUM_EVENTS (QOS_L3_MBM_LOCAL_EVENT_ID + 1)
> +
> #endif /* __LINUX_RESCTRL_TYPES_H */
> --
> 2.20.1

-Tony