Bug 11656 - [Anolis23.2][6.6.25-2.2_rc1][x86_64] kernel-selftests测试resctrl.resctrl_tests用例fail
Summary: [Anolis23.2][6.6.25-2.2_rc1][x86_64] kernel-selftests测试resctrl.resctrl_tests用...
Status: CONFIRMED
Alias: None
Product: ANCK 6.6 Dev
Classification: ANCK
Component: sched (show other bugs) sched
Version: 6.6.25-2.2
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: banye97
QA Contact:
URL:
Whiteboard:
Keywords: Function
Depends on:
Blocks:
 
Reported: 2024-11-05 12:57 UTC by anolislw
Modified: 2024-11-21 09:40 UTC (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description anolislw alibaba_cloud_group 2024-11-05 12:57:14 UTC
[问题描述]
内部的物理机anolis23 x86环境下,内核为6.6.25-2.2_rc1.an23.x86_64系统上,运行kernel-selftests测试resctrl.resctrl_tests用例fail。

[期望结果]
case pass

[实际结果]
case有两个失败项
------------------
[root@5f9Lab15 resctrl]# ./resctrl_tests
TAP version 13
# Pass: Check kernel supports resctrl filesystem
# Pass: Check resctrl mountpoint "/sys/fs/resctrl" exists
# resctrl filesystem not mounted
1..4
# Starting MBM BW change ...
# Mounting resctrl to "/sys/fs/resctrl"
# Benchmark PID: 230578
# Writing benchmark parameters to resctrl FS
# Write schema "MB:0=100" to resctrl FS
# Checking for pass/fail
# Pass: Check MBM diff within 8%
# avg_diff_per: 0%
# Span (MB): 250
# avg_bw_imc: 13290
# avg_bw_resc: 13356
ok 1 MBM: bw change
# Starting MBA Schemata change ...
# Mounting resctrl to "/sys/fs/resctrl"
# Benchmark PID: 230630
# Writing benchmark parameters to resctrl FS
# Write schema "MB:0=100" to resctrl FS
# Write schema "MB:0=90" to resctrl FS
# Write schema "MB:0=80" to resctrl FS
# Write schema "MB:0=70" to resctrl FS
# Write schema "MB:0=60" to resctrl FS
# Write schema "MB:0=50" to resctrl FS
# Write schema "MB:0=40" to resctrl FS
# Write schema "MB:0=30" to resctrl FS
# Write schema "MB:0=20" to resctrl FS
# Write schema "MB:0=10" to resctrl FS
# Results are displayed in (MB)
# Pass: Check MBA diff within 8% for schemata 100
# avg_diff_per: 0%
# avg_bw_imc: 13153
# avg_bw_resc: 13150
# Pass: Check MBA diff within 8% for schemata 90
# avg_diff_per: 0%
# avg_bw_imc: 12755
# avg_bw_resc: 12640
# Pass: Check MBA diff within 8% for schemata 80
# avg_diff_per: 0%
# avg_bw_imc: 12290
# avg_bw_resc: 12186
# Pass: Check MBA diff within 8% for schemata 70
# avg_diff_per: 1%
# avg_bw_imc: 10814
# avg_bw_resc: 10682
# Pass: Check MBA diff within 8% for schemata 60
# avg_diff_per: 1%
# avg_bw_imc: 9450
# avg_bw_resc: 9304
# Pass: Check MBA diff within 8% for schemata 50
# avg_diff_per: 1%
# avg_bw_imc: 8434
# avg_bw_resc: 8333
# Pass: Check MBA diff within 8% for schemata 40
# avg_diff_per: 1%
# avg_bw_imc: 6968
# avg_bw_resc: 6837
# Pass: Check MBA diff within 8% for schemata 30
# avg_diff_per: 2%
# avg_bw_imc: 5314
# avg_bw_resc: 5187
# Pass: Check MBA diff within 8% for schemata 20
# avg_diff_per: 5%
# avg_bw_imc: 3281
# avg_bw_resc: 3090
# Fail: Check MBA diff within 8% for schemata 10
# avg_diff_per: 23%
# avg_bw_imc: 938
# avg_bw_resc: 717
# Fail: Check schemata change using MBA
# At least one test failed
not ok 2 MBA: schemata change
# Starting CMT test ...
# Mounting resctrl to "/sys/fs/resctrl"
# Cache size :18874368
# Benchmark PID: 241995
# Writing benchmark parameters to resctrl FS
# Checking for pass/fail
# Pass: Check cache miss rate within 15%
# Percent diff=15
# Number of bits: 5
# Average LLC val: 6684672
# Cache span (bytes): 7864320
ok 3 CMT: test
# Starting CAT test ...
# Mounting resctrl to "/sys/fs/resctrl"
# Cache size :18874368
# Writing benchmark parameters to resctrl FS
# Write schema "L3:0=3f" to resctrl FS
# Writing benchmark parameters to resctrl FS
# Write schema "L3:0=fc0" to resctrl FS
# Checking for pass/fail
# Fail: Check cache miss rate within 4%
# Percent diff=19
# Number of bits: 6
# Average LLC val: 118847
# Cache span (lines): 147456
# Checking for pass/fail
# Fail: Check cache miss rate within 4%
# Percent diff=19
# Number of bits: 6
# Average LLC val: 119430
# Cache span (lines): 147456
not ok 4 CAT: test
# Totals: pass:2 fail:2 xfail:0 xpass:0 skip:0 error:0


[复现步骤]
1. wget https://build.openanolis.cn/kojifiles/output/nightly/anolis-23-20241101.5/compose/os/source/tree/Packages/kernel-6.6.25-2.2_rc1.an23.src.rpm
2. rpm -i kernel-6.6.25-2.2_rc1.an23.src.rpm
   yum-builddep -y /root/rpmbuild/SPECS/kernel.spec 
   rpmbuild -bp /root/rpmbuild/SPECS/kernel.spec 
   cd /root/rpmbuild/BUILD/kernel-*xxx/linux-*
   make -C tools/testing/selftests/
   cd resctrl;make
   ./resctrl_tests

[环境信息]
[root@5f9Lab15 resctrl]# uname -a
Linux 5f9Lab15 6.6.25-2.2_rc1.an23.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Oct 31 21:26:10 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]# cat /proc/cmdline
BOOT_IMAGE=(hd1,gpt2)/vmlinuz-6.6.25-2.2_rc1.an23.x86_64 root=UUID=dca78281-9421-4a9b-9bb5-c4ec9804a355 ro resume=UUID=85dbb4f6-3cdd-4b68-b32e-ddfef04aaf1a rhgb quiet selinux=0 cgroup.memory=nokmem crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda4       444G   18G  426G   5% /
devtmpfs        4.0M  600K  3.5M  15% /dev
tmpfs           126G     0  126G   0% /dev/shm
efivarfs        268K  164K  100K  63% /sys/firmware/efi/efivars
tmpfs            51G  2.5M   51G   1% /run
tmpfs           126G   56M  126G   1% /tmp
/dev/sda2       960M  234M  727M  25% /boot
/dev/sda1       200M  6.2M  194M   4% /boot/efi
tmpfs            26G   48K   26G   1% /run/user/0
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]# free -g
               total        used        free      shared  buff/cache   available
Mem:             251           3         249           0           0         248
Swap:              1           0           1
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]# lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          46 bits physical, 57 bits virtual
  Byte Order:             Little Endian
CPU(s):                   48
  On-line CPU(s) list:    0-47
Vendor ID:                GenuineIntel
  BIOS Vendor ID:         Intel(R) Corporation
  Model name:             Intel(R) Xeon(R) Silver 4310 CPU @ 2.10GHz
    BIOS Model name:      Intel(R) Xeon(R) Silver 4310 CPU @ 2.10GHz  CPU @ 2.1GHz
    BIOS CPU family:      179
    CPU family:           6
    Model:                106
    Thread(s) per core:   2
    Core(s) per socket:   12
    Socket(s):            2
    Stepping:             6
    CPU(s) scaling MHz:   27%
    CPU max MHz:          3300.0000
    CPU min MHz:          800.0000
    BogoMIPS:             4200.00
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss
                           ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonsto
                          p_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse
                          4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_f
                          ault epb cat_l3 ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_a
                          djust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflusho
                          pt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_m
                          bm_total cqm_mbm_local split_lock_detect wbnoinvd dtherm ida arat pln pts vnmi avx512vbmi umip pku ospke avx5
                          12_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq rdpid fsrm md_clear pconfig flus
                          h_l1d arch_capabilities
Virtualization features:
  Virtualization:         VT-x
Caches (sum of all):
  L1d:                    1.1 MiB (24 instances)
  L1i:                    768 KiB (24 instances)
  L2:                     30 MiB (24 instances)
  L3:                     36 MiB (2 instances)
NUMA:
  NUMA node(s):           2
  NUMA node0 CPU(s):      0-11,24-35
  NUMA node1 CPU(s):      12-23,36-47
Vulnerabilities:
  Gather data sampling:   Mitigation; Microcode
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Mitigation; Clear CPU buffers; SMT vulnerable
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:             Mitigation; Enhanced / Automatic IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
  Srbds:                  Not affected
  Tsx async abort:        Not affected
Comment 1 zhangxinyi alibaba_cloud_group 2024-11-07 19:19:19 UTC
这个测试fail的原因可能是后台其他任务的干扰,需要确认测试机器跑测试时是否还有别的后台任务运行
Comment 2 anolislw alibaba_cloud_group 2024-11-08 11:39:55 UTC
重启了机器排除了机器任务的干扰,重新执行case,执行多次都会出现 Fail: Check cache miss rate within 4% 这个测试项的fail
--------------------------
[root@5f9Lab15 resctrl]# ./resctrl_tests
TAP version 13
# Pass: Check kernel supports resctrl filesystem
# Pass: Check resctrl mountpoint "/sys/fs/resctrl" exists
# resctrl filesystem not mounted
# dmesg: [    1.761867] resctrl: L3 allocation detected
# dmesg: [    1.761868] resctrl: MB allocation detected
# dmesg: [    1.761869] resctrl: L3 monitoring detected
1..4
# Starting MBM BW change ...
# Mounting resctrl to "/sys/fs/resctrl"
# Benchmark PID: 5780
# Writing benchmark parameters to resctrl FS
# Write schema "MB:0=100" to resctrl FS
# Checking for pass/fail
# Pass: Check MBM diff within 8%
# avg_diff_per: 0%
# Span (MB): 250
# avg_bw_imc: 13213
# avg_bw_resc: 13282
ok 1 MBM: bw change
# Starting MBA Schemata change ...
# Mounting resctrl to "/sys/fs/resctrl"
# Benchmark PID: 5790
# Writing benchmark parameters to resctrl FS
# Write schema "MB:0=100" to resctrl FS
# Write schema "MB:0=90" to resctrl FS
# Write schema "MB:0=80" to resctrl FS
# Write schema "MB:0=70" to resctrl FS
# Write schema "MB:0=60" to resctrl FS
# Write schema "MB:0=50" to resctrl FS
# Write schema "MB:0=40" to resctrl FS
# Write schema "MB:0=30" to resctrl FS
# Write schema "MB:0=20" to resctrl FS
# Write schema "MB:0=10" to resctrl FS
# Results are displayed in (MB)
# Pass: Check MBA diff within 8% for schemata 100
# avg_diff_per: 0%
# avg_bw_imc: 13207
# avg_bw_resc: 13283
# Pass: Check MBA diff within 8% for schemata 90
# avg_diff_per: 0%
# avg_bw_imc: 13212
# avg_bw_resc: 13284
# Pass: Check MBA diff within 8% for schemata 80
# avg_diff_per: 0%
# avg_bw_imc: 12495
# avg_bw_resc: 12549
# Pass: Check MBA diff within 8% for schemata 70
# avg_diff_per: 0%
# avg_bw_imc: 11147
# avg_bw_resc: 11192
# Pass: Check MBA diff within 8% for schemata 60
# avg_diff_per: 0%
# avg_bw_imc: 9324
# avg_bw_resc: 9349
# Pass: Check MBA diff within 8% for schemata 50
# avg_diff_per: 0%
# avg_bw_imc: 8358
# avg_bw_resc: 8388
# Pass: Check MBA diff within 8% for schemata 40
# avg_diff_per: 0%
# avg_bw_imc: 6968
# avg_bw_resc: 6988
# Pass: Check MBA diff within 8% for schemata 30
# avg_diff_per: 0%
# avg_bw_imc: 5432
# avg_bw_resc: 5428
# Pass: Check MBA diff within 8% for schemata 20
# avg_diff_per: 2%
# avg_bw_imc: 3616
# avg_bw_resc: 3510
# Pass: Check MBA diff within 8% for schemata 10
# avg_diff_per: 2%
# avg_bw_imc: 734
# avg_bw_resc: 715
# Pass: Check schemata change using MBA
ok 2 MBA: schemata change
# Starting CMT test ...
# Mounting resctrl to "/sys/fs/resctrl"
# Cache size :18874368
# Benchmark PID: 5849
# Writing benchmark parameters to resctrl FS
# Checking for pass/fail
# Pass: Check cache miss rate within 15%
# Percent diff=14
# Number of bits: 5
# Average LLC val: 6703104
# Cache span (bytes): 7864320
ok 3 CMT: test
# Starting CAT test ...
# Mounting resctrl to "/sys/fs/resctrl"
# Cache size :18874368
# Writing benchmark parameters to resctrl FS
# Write schema "L3:0=3f" to resctrl FS
# Writing benchmark parameters to resctrl FS
# Write schema "L3:0=fc0" to resctrl FS
# Checking for pass/fail
# Fail: Check cache miss rate within 4%
# Percent diff=16
# Number of bits: 6
# Average LLC val: 122522
# Cache span (lines): 147456
# Checking for pass/fail
# Fail: Check cache miss rate within 4%
# Percent diff=24
# Number of bits: 6
# Average LLC val: 111073
# Cache span (lines): 147456
not ok 4 CAT: test
# Totals: pass:3 fail:1 xfail:0 xpass:0 skip:0 error:0
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]# uname -r
6.6.25-2.2_rc1.an23.x86_64
Comment 3 banye97 alibaba_cloud_group 2024-11-11 10:30:59 UTC
请确认一下在 6.6.25-2.1 版本中是否存在该问题
Comment 4 anolislw alibaba_cloud_group 2024-11-20 17:02:20 UTC
(In reply to banye97 from comment #3)
> 请确认一下在 6.6.25-2.1 版本中是否存在该问题


在6.6.25-2.1内核上,只是最后一个测试项Fail
-----------------------------------------------------
[root@5f9Lab15 resctrl]#  ./resctrl_tests
TAP version 13
# Pass: Check kernel supports resctrl filesystem
# Pass: Check resctrl mountpoint "/sys/fs/resctrl" exists
# resctrl filesystem not mounted
# dmesg: [    1.757120] resctrl: L3 allocation detected
# dmesg: [    1.757122] resctrl: MB allocation detected
# dmesg: [    1.757123] resctrl: L3 monitoring detected
1..4
# Starting MBM BW change ...
# Mounting resctrl to "/sys/fs/resctrl"
# Benchmark PID: 6722
# Writing benchmark parameters to resctrl FS
# Write schema "MB:0=100" to resctrl FS
# Checking for pass/fail
# Pass: Check MBM diff within 8%
# avg_diff_per: 0%
# Span (MB): 250
# avg_bw_imc: 13262
# avg_bw_resc: 13327
ok 1 MBM: bw change
# Starting MBA Schemata change ...
# Mounting resctrl to "/sys/fs/resctrl"
# Benchmark PID: 6731
# Writing benchmark parameters to resctrl FS
# Write schema "MB:0=100" to resctrl FS
# Write schema "MB:0=90" to resctrl FS
# Write schema "MB:0=80" to resctrl FS
# Write schema "MB:0=70" to resctrl FS
# Write schema "MB:0=60" to resctrl FS
# Write schema "MB:0=50" to resctrl FS
# Write schema "MB:0=40" to resctrl FS
# Write schema "MB:0=30" to resctrl FS
# Write schema "MB:0=20" to resctrl FS
# Write schema "MB:0=10" to resctrl FS
# Results are displayed in (MB)
# Pass: Check MBA diff within 8% for schemata 100
# avg_diff_per: 0%
# avg_bw_imc: 13270
# avg_bw_resc: 13345
# Pass: Check MBA diff within 8% for schemata 90
# avg_diff_per: 0%
# avg_bw_imc: 13263
# avg_bw_resc: 13330
# Pass: Check MBA diff within 8% for schemata 80
# avg_diff_per: 0%
# avg_bw_imc: 12540
# avg_bw_resc: 12601
# Pass: Check MBA diff within 8% for schemata 70
# avg_diff_per: 0%
# avg_bw_imc: 11189
# avg_bw_resc: 11233
# Pass: Check MBA diff within 8% for schemata 60
# avg_diff_per: 0%
# avg_bw_imc: 9339
# avg_bw_resc: 9367
# Pass: Check MBA diff within 8% for schemata 50
# avg_diff_per: 0%
# avg_bw_imc: 8372
# avg_bw_resc: 8395
# Pass: Check MBA diff within 8% for schemata 40
# avg_diff_per: 0%
# avg_bw_imc: 6965
# avg_bw_resc: 6982
# Pass: Check MBA diff within 8% for schemata 30
# avg_diff_per: 0%
# avg_bw_imc: 5440
# avg_bw_resc: 5426
# Pass: Check MBA diff within 8% for schemata 20
# avg_diff_per: 2%
# avg_bw_imc: 3606
# avg_bw_resc: 3505
# Pass: Check MBA diff within 8% for schemata 10
# avg_diff_per: 3%
# avg_bw_imc: 740
# avg_bw_resc: 717
# Pass: Check schemata change using MBA
ok 2 MBA: schemata change
# Starting CMT test ...
# Mounting resctrl to "/sys/fs/resctrl"
# Cache size :18874368
# Benchmark PID: 6782
# Writing benchmark parameters to resctrl FS
# Checking for pass/fail
# Pass: Check cache miss rate within 15%
# Percent diff=12
# Number of bits: 5
# Average LLC val: 6868992
# Cache span (bytes): 7864320
ok 3 CMT: test
# Starting CAT test ...
# Mounting resctrl to "/sys/fs/resctrl"
# Cache size :18874368
# Writing benchmark parameters to resctrl FS
# Write schema "L3:0=3f" to resctrl FS
# Writing benchmark parameters to resctrl FS
# Write schema "L3:0=fc0" to resctrl FS
# Checking for pass/fail
# Fail: Check cache miss rate within 4%
# Percent diff=15
# Number of bits: 6
# Average LLC val: 124694
# Cache span (lines): 147456
# Checking for pass/fail
# Fail: Check cache miss rate within 4%
# Percent diff=16
# Number of bits: 6
# Average LLC val: 123703
# Cache span (lines): 147456
not ok 4 CAT: test
# Totals: pass:3 fail:1 xfail:0 xpass:0 skip:0 error:0
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]#  ./resctrl_tests^C
[root@5f9Lab15 resctrl]# uname -r
6.6.25-2.1.an23.x86_64
[root@5f9Lab15 resctrl]#
[root@5f9Lab15 resctrl]# pwd
/root/rpmbuild/BUILD/kernel-6.6.25-2.1.an23/linux-6.6.25-2.1.an23.x86_64/tools/testing/selftests/resctrl
Comment 5 banye97 alibaba_cloud_group 2024-11-21 09:40:29 UTC
非 6.6.25-002.2 版本新增问题,暂不修复。