Bug 3088 - [Anolis8][ck-4.19][aarch64][nightly社区版] kernel-selftest测试套case:cpufreq.main.sh run fail
Summary: [Anolis8][ck-4.19][aarch64][nightly社区版] kernel-selftest测试套case:cpufreq.main.s...
Status: CONFIRMED
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: kernel - anck-4.19 (show other bugs) kernel - anck-4.19
Version: 8.6
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: shuancue
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-16 15:42 UTC by anolislw
Modified: 2023-03-06 13:43 UTC (History)
2 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 2022-11-16 15:42:36 UTC
【问题简述】
社区版Anolis8 ck-4.19 aarch64 nightly, kernel-selftest测试套case:cpufreq.main.sh run fail

【复现步骤】
rpm -i kernel-4.19.91-210.git.02d097c7c673.an8.src.rpm
yum install yum-utils
yum-builddep -y /root/rpmbuild/SPECS/kernel.spec    #自动安装前置依赖包  需要yum-utils
rpmbuild -bp /root/rpmbuild/SPECS/kernel.spec         # 这个步骤会打相关的patch, 解压缩tar包,生成BUILD目录
cd BUILD/linux-4.19.91-210.git.02d097c7c673.an8.aarch64/tools/testing/selftests/
cd cpufreq/
make 
make install
./main.sh

【环境信息】
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# uname -r
4.19.91-210.git.02d097c7c673.an8.aarch64
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# cat /etc/redhat-
cat: /etc/redhat-: No such file or directory
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# cat /etc/redhat-release
Anolis OS release 8.6
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.5G     0  7.5G   0% /dev
tmpfs           7.6G     0  7.6G   0% /dev/shm
tmpfs           7.6G  608K  7.6G   1% /run
tmpfs           7.6G     0  7.6G   0% /sys/fs/cgroup
/dev/vda2        39G   33G  4.1G  90% /
/dev/vda1       500M  6.8M  494M   2% /boot/efi
tmpfs           1.6G     0  1.6G   0% /run/user/0
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# free -g
              total        used        free      shared  buff/cache   available
Mem:             15           0           9           0           5          14
Swap:             0           0           0
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/boot/vmlinuz-4.19.91-210.git.02d097c7c673.an8.aarch64 root=UUID=69f901e7-05b1-40ca-bff0-947d6f410fe7 ro cryptomgr.notests cgroup.memory=nokmem rcupdate.rcu_cpu_stall_timeout=300 vring_force_dma_api rhgb quiet console=tty0 biosdevname=0 net.ifnames=0 console=ttyAMA0,115200n8 noibrs nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295 crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per cluster: 4
Socket(s):           1
Cluster(s):          1
NUMA node(s):        1
Vendor ID:           ARM
BIOS Vendor ID:      Alibaba Cloud
Model:               1
Model name:          Neoverse-N1
BIOS Model name:     virt-rhel7.6.0
Stepping:            r3p1
BogoMIPS:            50.00
NUMA node0 CPU(s):   0-3
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs

【出现频率】
必现

【测试报错】
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# ./main.sh
pid 1288305's current affinity mask: f
pid 1288305's new affinity mask: 1
[root@qibo-anolis8-nightly-func-arm-1 cpufreq]# echo $?
2

【定位分析】
调试了下测试代码发现是/sys/devices/system/cpu/ 下面对应cpu下不存在cpufreq
-----------------------------
+ source cpu.sh
++ '[' ']'
++ FILE_CPU=DONE
++ source cpufreq.sh
+++ '[' ']'
+++ FILE_CPUFREQ=DONE
+++ source cpu.sh
++++ '[' DONE ']'
++++ return 0
+ source cpufreq.sh
++ '[' DONE ']'
++ return 0
+ source governor.sh
++ '[' ']'
++ FILE_GOVERNOR=DONE
++ source cpu.sh
+++ '[' DONE ']'
+++ return 0
++ source cpufreq.sh
+++ '[' DONE ']'
+++ return 0
++ CUR_GOV=
++ CUR_FREQ=
+ source module.sh
++ '[' ']'
++ FILE_MODULE=DONE
++ source cpu.sh
+++ '[' DONE ']'
+++ return 0
++ source cpufreq.sh
+++ '[' DONE ']'
+++ return 0
++ source governor.sh
+++ '[' DONE ']'
+++ return 0
+ source special-tests.sh
++ '[' ']'
++ FILE_SPECIAL=DONE
++ source cpu.sh
+++ '[' DONE ']'
+++ return 0
++ source cpufreq.sh
+++ '[' DONE ']'
+++ return 0
++ source governor.sh
+++ '[' DONE ']'
+++ return 0
+ FUNC=basic
+ OUTFILE=cpufreq_selftest
+ SYSFS=
+ CPUROOT=
+ CPUFREQROOT=
+ ksft_skip=4
+ parse_arguments
+ getopts ht:o:d:g: arg
+ prerequisite
+ msg='skip all tests:'
+ '[' 0 '!=' 0 ']'
+ taskset -p 01 1288327
pid 1288327's current affinity mask: f
pid 1288327's new affinity mask: 1
++ mount -t sysfs
++ head -1
++ awk '{ print $3 }'
+ SYSFS=/sys
+ '[' '!' -d /sys ']'
+ CPUROOT=/sys/devices/system/cpu
+ CPUFREQROOT=/sys/devices/system/cpu/cpufreq
+ ls /sys/devices/system/cpu/cpu0 /sys/devices/system/cpu/cpu1 /sys/devices/system/cpu/cpu2 /sys/devices/system/cpu/cpu3 /sys/devices/system/cpu/cpufreq /sys/devices/system/cpu/cpuidle
+ ls /sys/devices/system/cpu/cpufreq
+ clear_dumps cpufreq_selftest
+ echo ''
+ echo ''
+ echo ''
+ do_test
++ count_cpufreq_managed_cpus
++ count=0
+++ ls /sys/devices/system/cpu
+++ grep 'cpu[0-9].*'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu0/cpufreq ']'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu1/cpufreq ']'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu2/cpufreq ']'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu3/cpufreq ']'
++ echo 0
+ count=0
+ '[' 0 = 0 -a basic '!=' modtest ']'
+ echo 'No cpu is managed by cpufreq core, exiting'
+ exit 2
Comment 2 meil_wei alibaba_cloud_group 2023-01-10 17:12:37 UTC
Anolis7 4.19 aarch64有同样问题

selftests: cpufreq: main.sh
pid 16135's current affinity mask: f
pid 16135's new affinity mask: 1
not ok 1..1 selftests: cpufreq: main.sh [FAIL]

# uname -r
4.19.91-260.git.98e6929.an7.aarch64

# lscpu
Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Model:                 1
BogoMIPS:              50.00
NUMA node0 CPU(s):     0-3
Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
Comment 3 zhixin01 alibaba_cloud_group 2023-01-13 10:11:17 UTC
Anolis8 4.19 x86_64社区nightly有同样问题:
# ./main.sh
pid 807236's current affinity mask: f
pid 807236's new affinity mask: 1
# echo $?
2

# uname -r
4.19.91-264.git.c452e2d70d27.an8.x86_64

# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.6"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.6"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.6"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"

# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
BIOS Vendor ID:      Alibaba Cloud
CPU family:          6
Model:               106
Model name:          Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz
BIOS Model name:     pc-i440fx-2.1
Stepping:            6
CPU MHz:             2699.998
BogoMIPS:            5399.99
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           48K
L1i cache:           32K
L2 cache:            1280K
L3 cache:            49152K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities
Comment 4 anolislw alibaba_cloud_group 2023-03-06 13:43:14 UTC
在Anolis23 x86虚拟机环境下,社区的nightly kernel-tests测试该case也有同样的问题
------------------------
[root@qibo-anolis23-nightly-func-x86-1 cpufreq]# ./main.sh
+ source cpu.sh
++ '[' ']'
++ FILE_CPU=DONE
++ source cpufreq.sh
+++ '[' ']'
+++ FILE_CPUFREQ=DONE
+++ source cpu.sh
++++ '[' DONE ']'
++++ return 0
+ source cpufreq.sh
++ '[' DONE ']'
++ return 0
+ source governor.sh
++ '[' ']'
++ FILE_GOVERNOR=DONE
++ source cpu.sh
+++ '[' DONE ']'
+++ return 0
++ source cpufreq.sh
+++ '[' DONE ']'
+++ return 0
++ CUR_GOV=
++ CUR_FREQ=
+ source module.sh
++ '[' ']'
++ FILE_MODULE=DONE
++ source cpu.sh
+++ '[' DONE ']'
+++ return 0
++ source cpufreq.sh
+++ '[' DONE ']'
+++ return 0
++ source governor.sh
+++ '[' DONE ']'
+++ return 0
+ source special-tests.sh
++ '[' ']'
++ FILE_SPECIAL=DONE
++ source cpu.sh
+++ '[' DONE ']'
+++ return 0
++ source cpufreq.sh
+++ '[' DONE ']'
+++ return 0
++ source governor.sh
+++ '[' DONE ']'
+++ return 0
+ FUNC=basic
+ OUTFILE=cpufreq_selftest
+ SYSFS=
+ CPUROOT=
+ CPUFREQROOT=
+ ksft_skip=4
+ parse_arguments
+ getopts ht:o:d:g: arg
+ prerequisite
+ msg='skip all tests:'
+ '[' 0 '!=' 0 ']'
+ taskset -p 01 2685870
pid 2685870's current affinity mask: f
pid 2685870's new affinity mask: 1
++ awk '{ print $3 }'
++ head -1
++ mount -t sysfs
+ SYSFS=/sys
+ '[' '!' -d /sys ']'
+ CPUROOT=/sys/devices/system/cpu
+ CPUFREQROOT=/sys/devices/system/cpu/cpufreq
+ ls /sys/devices/system/cpu/cpu0 /sys/devices/system/cpu/cpu1 /sys/devices/system/cpu/cpu2 /sys/devices/system/cpu/cpu3 /sys/devices/system/cpu/cpufreq /sys/devices/system/cpu/cpuidle
+ ls /sys/devices/system/cpu/cpufreq
+ clear_dumps cpufreq_selftest
+ echo ''
+ echo ''
+ echo ''
+ do_test
++ count_cpufreq_managed_cpus
++ count=0
+++ grep 'cpu[0-9].*'
+++ ls /sys/devices/system/cpu
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu0/cpufreq ']'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu1/cpufreq ']'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu2/cpufreq ']'
++ for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`
++ '[' -d /sys/devices/system/cpu/cpu3/cpufreq ']'
++ echo 0
+ count=0
+ '[' 0 = 0 -a basic '!=' modtest ']'
+ echo 'No cpu is managed by cpufreq core, exiting'
+ exit 2
[root@qibo-anolis23-nightly-func-x86-1 cpufreq]# uname -r
5.10.134-1.git.2ed1510fd4be.an23.x86_64
[root@qibo-anolis23-nightly-func-x86-1 cpufreq]# cat /etc/anolis-release
Anolis OS release 23

#内部aone:29090441 开发同学给过的回复是“虚拟机没有透传 ACP特性, VM 无法加载 acpi_cpufreq.ko, 无法动态调频”