Description of problem: alitests测试套中test_iocost_cgroup_001,test_iocost_cgroup_002,test_iocost_cgroup_nested_001三个用例执行fail,fio: engine libaio not loadable 测试日志: Running tests....... <<<test_start>>> tag=test_iocost_cgroup_001 stime=1676962864 cmdline="test_iocost_cgroup_001.sh" contacts="" analysis=exit <<<test_output>>> incrementing stop TMPDIR: /tmp/ltp-CIYRlzoZz4 sda 8:0 0 223.6G 0 disk |-sda1 8:1 0 1023M 0 part /boot/efi |-sda2 8:2 0 50G 0 part / |-sda3 8:3 0 2G 0 part [SWAP] `-sda4 8:4 0 170.6G 0 part disk sda, dev 8:0 Last metadata expiration check: 4:04:47 ago on Tue Feb 21 10:56:18 2023. Package libcgroup-tools-0.41-19.el8.aarch64 is already installed. Package fio-3.27-8.0.1.an8.aarch64 is already installed. Dependencies resolved. Nothing to do. Complete! Avail_Size: 24587380 =================== Enable Controller ============================ =================== Set Weight ==================================== ####################### fio-3.27 Engine libaio not found; Either name is invalid, was not built, or fio-engine-libaio package is missing. fio: engine libaio not loadable fio: failed to load engine fio: file:ioengines.c:127, func=dlopen, error=/usr/lib64/fio/fio-libaio.so: cannot open shared object file: No such file or director Engine libaio not found; Either name is invalid, was not built, or fio-engine-libaio package is missing. fio: engine libaio not loadable fio: failed to load engine fio: file:ioengines.c:127, func=dlopen, error=/usr/lib64/fio/fio-libaio.so: cannot open shared object file: No such file or director Engine libaio not found; Either name is invalid, was not built, or fio-engine-libaio package is missing. fio: engine libaio not loadable fio: failed to load engine fio: file:ioengines.c:127, func=dlopen, error=/usr/lib64/fio/fio-libaio.so: cannot open shared object file: No such file or director Engine libaio not found; Either name is invalid, was not built, or fio-engine-libaio package is missing. fio: engine libaio not loadable fio: failed to load engine fio: file:ioengines.c:127, func=dlopen, error=/usr/lib64/fio/fio-libaio.so: cannot open shared object file: No such file or director =============== Calculate the Bandwidth =========================== cat: fiotest_iocost_high_0.log: No such file or directory /tmp/tone/run/alitests/testcases/bin/test_iocost_cgroup_lib.sh: line 52: [: B/s: unary operator expected (standard_in) 2: syntax error cat: fiotest_iocost_high_1.log: No such file or directory /tmp/tone/run/alitests/testcases/bin/test_iocost_cgroup_lib.sh: line 52: [: B/s: unary operator expected (standard_in) 1: syntax error cat: fiotest_iocost_low_0.log: No such file or directory /tmp/tone/run/alitests/testcases/bin/test_iocost_cgroup_lib.sh: line 52: [: B/s: unary operator expected (standard_in) 2: syntax error cat: fiotest_iocost_low_1.log: No such file or directory /tmp/tone/run/alitests/testcases/bin/test_iocost_cgroup_lib.sh: line 52: [: B/s: unary operator expected (standard_in) 1: syntax error iocost_high bandwidth = iocost_low bandwidth = (standard_in) 1: syntax error /tmp/tone/run/alitests/testcases/bin/test_iocost_cgroup_001.sh: line 96: [: =: unary operator expected test_iocost_cgroup_001 1 TFAIL: test fail, high priority cgroup should share the higher share Summary: passed 0 failed 1 skipped 0 warnings 0 <<<execution_status>>> initiation_status="ok" duration=2 termination_type=exited termination_id=1 corefile=no cutime=115 cstime=18 <<<test_end>>> Version-Release number of selected component (if applicable): # rpm -qa |grep libaio libaio-devel-0.3.112-1.0.1.an8.aarch64 libaio-0.3.112-1.0.1.an8.aarch64 # rpm -qa |grep fio fio-3.27-8.0.1.an8.aarch64 调测: # /usr/local/bin/fio --version fio-3.23-28-g7064 # rpm -qf /usr/local/bin/fio file /usr/local/bin/fio is not owned by any package #/usr/bin/fio --version fio-3.27 # rpm -qf /usr/bin/fio fio-3.27-8.0.1.an8.aarch64(3.27版本的fio是yum源中提供的包) 经过调研失败原因发现,环境中存在两个版本的fio,当fio版本是fio-3.23-28-g7064时,用例执行pass;当fio版本是fio-3.27时,用例执行fail,请确认是否高版本fio包的问题; How reproducible: 必现 Steps to Reproduce: git clone http://ktester:Test\(12\)@gitlab-sp.alibaba-inc.com/alikernel/ltp.git cd ltp make autotools ./configure make make install ./runltp -f alitests -s test_iocost_cgroup_001 Actual results: 用例执行fail Expected results: 用例执行pass Additional info: 复现环境: anck 5.10 arm物理机 内核信息: # uname -r 5.10.134-560.git.04e328021.an8.aarch64 内存信息: # free -h total used free shared buff/cache available Mem: 753Gi 3.4Gi 748Gi 10Mi 1.5Gi 746Gi Swap: 2.0Gi 0B 2.0Gi cpu信息: # lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 96 On-line CPU(s) list: 0-95 Thread(s) per core: 1 Core(s) per socket: 48 Socket(s): 2 NUMA node(s): 1 Vendor ID: HiSilicon BIOS Vendor ID: HiSilicon Model: 0 Model name: Kunpeng-920 BIOS Model name: HUAWEI Kunpeng 920 5250 Stepping: 0x1 CPU MHz: 2600.000 CPU max MHz: 2600.0000 CPU min MHz: 200.0000 BogoMIPS: 200.00 L1d cache: 64K L1i cache: 64K L2 cache: 512K L3 cache: 24576K NUMA node0 CPU(s): 0-95 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
anolis8-5.10-14-rc1内核也存在同样的问题,且xfstests测试套下多个用例都由同一原因导致用例失败,和fio包升级相关,相关用例如下: ext4/301,ext4/302,ext4/303,ext4/304,generic/299,generic/300, 以ext4/301为例,日志如下: # cat /tmp/tone/run/xfstests/results//ext4/301.full Discarding device blocks: done Creating filesystem with 93150720 4k blocks and 23289856 inodes Filesystem UUID: 2ad049e7-c24d-4092-ac6f-192685cef3ba Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done # Common e4defrag regression tests [global] ioengine=ioe_e4defrag iodepth=1 directory=/fs/nvme0n1p2 filesize=126684979200 size=999G buffered=0 fadvise_hint=0 ################################# # Test1 # Defragment file while other task does direct io # Continious sequential defrag activity [defrag-4k] ioengine=e4defrag iodepth=1 bs=128k donorname=test1.def filename=test1 inplace=0 rw=write numjobs=4 runtime=30*1 time_based # Verifier [aio-dio-verifier] ioengine=libaio iodepth=128*1 numjobs=1 verify=crc32c-intel verify_fatal=1 verify_dump=1 verify_backlog=1024 verify_async=1 verifysort=1 direct=1 bs=64k rw=randwrite filename=test1 runtime=30*1 time_based # /usr/bin/fio /tmp/2706909.fio fio: engine libaio not loadable fio: failed to load engine defrag-4k: (g=0): rw=write, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=e4defrag, iodepth=1 ... Option verifysort is deprecated Engine libaio not found; Either name is invalid, was not built, or fio-engine-libaio package is missing. fio: file:ioengines.c:127, func=dlopen, error=/usr/lib64/fio/fio-libaio.so: cannot open shared object file: No such file or director failed: '/usr/bin/fio /tmp/2706909.fio'
看起来跟这个bug,是同一个问题,安装之后可以验证下是否解决 https://bugzilla.openanolis.cn/show_bug.cgi?id=4337
按照https://bugzilla.openanolis.cn/show_bug.cgi?id=4337 bug单中的方法验证,问题已解决,该bug单关闭。