RE: [PATCH v6 36/42] x86/resctrl: Add end-marker to the resctrl_event_id enum
From: Luck, Tony
Date: Fri Feb 28 2025 - 15:59:27 EST
> >> @@ -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)
>
> > Why cant this be part of "enum resctrl_event_id" like we defined
> > RDT_NUM_RESOURCES?
>
> Maybe its a difference that only exists in my head, but the rdt resource array is
> completely a resctrl concept, the positions in the enum don't mean anything.
> Not so for for resctrl_event_id - those numbers mean something to the X86 CPUs. Resctrl
> needs some unique identifier for those, and its simpler just to use these directly. I
> didn't want to add anything to this enum.
>
> If there are mpam specific events, (currently there is only the risk of bandwidth counters
> on the L2, or scattered at random through the system), I'd prefer to support them via perf
> and keep them out of here completely.
Also note that resctrl code has some "switch (evtid) {" code ... if you make QOS_NUM_EVENTS
a member of the enum, then the compiler will warn if you don't have a "default:" or a
"case QOS_NUM_EVENTS:" to cover all the options.
We don't have any "switch (r->rid)"
-Tony