[RFC patch 5/9] selftests/resctrl: Refactor CPU vendor detection to use lookup table

Reinette Chatre reinette.chatre at intel.com
Thu Mar 12 13:59:19 PDT 2026


Hi Yifan,

On 3/3/26 8:03 PM, Yifan Wu wrote:
...
> ---
>  .../testing/selftests/resctrl/resctrl_tests.c | 82 ++++++++++++++-----
>  1 file changed, 60 insertions(+), 22 deletions(-)
> 
> diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
> index dbcd5eea9fbc..419d876a97c2 100644
> --- a/tools/testing/selftests/resctrl/resctrl_tests.c
> +++ b/tools/testing/selftests/resctrl/resctrl_tests.c
> @@ -23,39 +23,77 @@ static struct resctrl_test *resctrl_tests[] = {
>  	&l2_noncont_cat_test,
>  };
>  
> +#define VENDOR_ENTRY struct {\
> +	unsigned int vendor_id; \
> +	void *arg; \
> +	}
> +
> +#define SEQ_ENTRY struct {\
> +	char *format; \
> +	VENDOR_ENTRY *vendor; \
> +	}
> +
> +#define DETECTION_ENTRY struct {\
> +	char *pathname; \
> +	SEQ_ENTRY *seq; \
> +	}
> +
> +static DETECTION_ENTRY vendor_detection[] = {
> +	{
> +		.pathname = "/proc/cpuinfo",
> +		.seq = (SEQ_ENTRY[]) {
> +			{
> +				.format = "vendor_id\t: %s\n",
> +				.vendor = (VENDOR_ENTRY[]) {
> +					{ .vendor_id = ARCH_INTEL,	.arg = "GenuineIntel" },
> +					{ .vendor_id = ARCH_AMD,	.arg = "AuthenticAMD" },
> +					{ .vendor_id = ARCH_HYGON,	.arg = "HygonGenuine" },
> +					{ .vendor_id = 0,	.arg = NULL }
> +				}
> +			}
> +		}
> +	},
> +	{ .pathname = NULL, .seq = NULL}
> +};

This is very complex why not just https://lore.kernel.org/lkml/20260123044034.141247-2-tan.shaopeng@fujitsu.com/ ?

Reinette




More information about the linux-arm-kernel mailing list