Dear Shuah,

Could you please consider this series for inclusion?

Thank you very much.

Reinette

On 12/16/25 7:04 PM, Xiaochen Shen wrote:
> The resctrl selftest currently exhibits several failures on Hygon CPUs
> due to missing vendor detection and edge-case handling specific to
> Hygon's architecture.
> 
> This patch series addresses three distinct issues:
> 1. A division-by-zero crash in SNC detection on some platforms (e.g.,
>    Hygon).
> 2. Missing CPU vendor detection, causing the test to fail with
>    "# Can not get vendor info..." on Hygon CPUs.
> 3. Incorrect handling of non-contiguous CBM support on Hygon CPUs.
> 
> These changes enable resctrl selftest to run successfully on
> Hygon CPUs that support Platform QoS features.
> 
> Maintainer notes:
> -----------------
> Patch 1: selftests/resctrl: Fix a division by zero error on Hygon
>  - This is a candidate for backport with "Fixes:" tag.
> 
> Patch 2: selftests/resctrl: Define CPU vendor IDs as bits to match usage
>  - This is *not* a candidate for backport since it is an enhancement and
>    preparatory patch for patch 3.
> 
> Patch 3: selftests/resctrl: Add CPU vendor detection for Hygon
> Patch 4: selftests/resctrl: Fix non-contiguous CBM check for Hygon
>  - Even though they are fixes they are *not* candidates for backport
>    since they are based on another patch series (x86/resctrl: Fix
>    Platform QoS issues for Hygon) which is in process of being added to
>    resctrl.
> -----------------
> 
> Changelog:
> v5:
> - Patch 2:
>   1. Fix a nit of "reverse fir ordering" of the variable declarations in
>      detect_vendor() in v4 patch series (Reinette).
>   2. Add Reviewed-by: Reinette Chatre <[email protected]>.
> 
> v4:
> - Cover letter: add maintainer notes outlining how these patches to be
>   handled (Reinette).
> - Re-organize the patch series to move original patch 3 to the beginning
>   of series. The patch order has changed between v3 and v4 (Reinette):
>      v3    ->    v4
>   patch #3 -> patch #1
>   patch #1 -> patch #2
>   patch #2 -> patch #3
>   patch #4 -> patch #4
> - Patch 2:
>   1. Resolve a conflict against latest upstream kernel (Reinette).
>   2. Fix a nit to maintain the reverse fir ordering of variables in
>      detect_vendor() (Reinette).
> - Patch 3: add Reviewed-by: Reinette Chatre <[email protected]>
> - Patch 4: move the maintainer note into the cover letter (Reinette).
> 
> v3:
> - Patch 1:
>   1. Update the return types of detect_vendor() and get_vendor() from
>      'int' to 'unsigned int' to align with their usage as bitmask values
>      and to prevent potentially risky type conversions (Fenghua).
>   2. Split the code changes of "define CPU vendor IDs as bits to match
>      usage" from original patch 1 into a separate patch (this patch,
>      suggested by Fenghua and Reinette).
>   3. Introduce the flag 'initialized' to simplify the get_vendor() ->
>      detect_vendor() logic (Reinette).
> - Patch 2 (original patch 1):
>   1. Move the code changes of "define CPU vendor IDs as bits to match
>      usage" into patch 1.
> - Patch 3 (original patch 2): 
>   1. Fix a nit of code comment for affected platforms (Fenghua).
>   2. Add Reviewed-by: Fenghua Yu <[email protected]>.
> - Patch 4 (original patch 3): 
>   1. Fix a nit to avoid calling get_vendor() twice (Fenghua).
>   2. Add Reviewed-by: Fenghua Yu <[email protected]>.
> 
> v2:
> - Patch 1: switch all of the vendor id bitmasks to use BIT() (Reinette)
> - Patch 2: add Reviewed-by: Reinette Chatre <[email protected]>
> - Patch 3: add Reviewed-by: Reinette Chatre <[email protected]>
>            add a maintainer note to highlight it is not a candidate for
>          backport (Reinette)
> 
> Xiaochen Shen (4):
>   selftests/resctrl: Fix a division by zero error on Hygon
>   selftests/resctrl: Define CPU vendor IDs as bits to match usage
>   selftests/resctrl: Add CPU vendor detection for Hygon
>   selftests/resctrl: Fix non-contiguous CBM check for Hygon
> 
>  tools/testing/selftests/resctrl/cat_test.c    |  6 ++--
>  tools/testing/selftests/resctrl/resctrl.h     |  8 ++++--
>  .../testing/selftests/resctrl/resctrl_tests.c | 28 +++++++++++++------
>  tools/testing/selftests/resctrl/resctrlfs.c   | 10 +++++++
>  4 files changed, 39 insertions(+), 13 deletions(-)
> 


Reply via email to