Closed Cypresslin closed 6 months ago
Bisect shows:
21d5baad74c70e42bb5f9e28b853bf97e8c26ea3 is the first bad commit
commit 21d5baad74c70e42bb5f9e28b853bf97e8c26ea3
Author: Colin Ian King <colin.i.king@gmail.com>
Date: Tue Apr 9 19:21:44 2024 +0100
stress-rtc: ensure EXIT_FAILURE is returned on failures
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
stress-rtc.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
Looks like this is catching something we should catch?
I wonder if this is occurring because these drivers/kernels don't support the RTC_ALRM_READ ioctl?
Please can you test using the following commit:
https://github.com/ColinIanKing/stress-ng/commit/dd12610368424dec857762ea5598eb7378cfe40b
commit dd12610368424dec857762ea5598eb7378cfe40b (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Wed May 8 13:48:53 2024 +0100
stress-rtc: ignore RTC_ALRM_READ EINVAL errors if the ioctl is not implemented
Older kernels may not support the RTC_ALRM_READ ioctl, so silently ignore
EINVAL errors.
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Hi Colin,
with stress-ng head set to dd12610, I noticed that commit 87c7e61 will cause an undefined reference to `shim_lsm_set_self_attr'
and commit d326138 will cause an undefined reference to `stress_asm_ppc64_yield'
on an Ubuntu Noble 6.8 PowerPC VM.
So I just test dd12610 on top of V0.17.08 and this ioctl RTC_ALRM_READ failed
issue has been muted. But another one pops up:
stress-ng: debug: [68774] stress-ng 0.17.08 gec64c89a5eb8
stress-ng: debug: [68774] system: Linux kernel-P10d-LPAR10 6.8.0-31-generic #31-Ubuntu SMP Sat Apr 20 00:05:55 UTC 2024 ppc64le, gcc 13.2.0, glibc 2.39, little endian
stress-ng: debug: [68774] RAM total: 15.4G, RAM free: 12.2G, swap free: 5.0G
stress-ng: debug: [68774] temporary file path: '/home/ubuntu/stress-ng', filesystem type: ext2 (10049225 blocks available)
stress-ng: debug: [68774] CPUs have 2 idle states: Shared Cede, snooze
stress-ng: debug: [68774] 16 processors online, 16 processors configured
stress-ng: info: [68774] setting to a 5 secs run per stressor
stress-ng: debug: [68774] cache allocate: using cache maximum level L1
stress-ng: debug: [68774] CPU data cache: L1: 32K
stress-ng: debug: [68774] cache allocate: shared cache buffer size: 64K (LLC size x 2 NUMA nodes)
stress-ng: info: [68774] dispatching hogs: 4 rtc
stress-ng: debug: [68774] starting stressors
stress-ng: debug: [68775] rtc: [68775] started (instance 0 on CPU 14)
stress-ng: debug: [68776] rtc: [68776] started (instance 1 on CPU 0)
stress-ng: debug: [68774] 4 stressors started
stress-ng: debug: [68777] rtc: [68777] started (instance 2 on CPU 15)
stress-ng: debug: [68778] rtc: [68778] started (instance 3 on CPU 14)
stress-ng: fail: [68775] rtc: ioctl RTC_WKALRM_RD failed, errno=22 (Invalid argument)
stress-ng: debug: [68775] rtc: [68775] exited (instance 0 on CPU 14)
stress-ng: fail: [68777] rtc: ioctl RTC_WKALRM_RD failed, errno=22 (Invalid argument)
stress-ng: debug: [68777] rtc: [68777] exited (instance 2 on CPU 15)
stress-ng: error: [68774] rtc: [68775] terminated with an error, exit status=2 (stressor failed)
stress-ng: debug: [68774] rtc: [68775] terminated (stressor failed)
stress-ng: debug: [68776] rtc: [68776] exited (instance 1 on CPU 5)
stress-ng: debug: [68778] rtc: [68778] exited (instance 3 on CPU 0)
stress-ng: debug: [68774] rtc: [68776] terminated (success)
stress-ng: error: [68774] rtc: [68777] terminated with an error, exit status=2 (stressor failed)
stress-ng: debug: [68774] rtc: [68777] terminated (stressor failed)
stress-ng: debug: [68774] rtc: [68778] terminated (success)
stress-ng: debug: [68774] metrics-check: all stressor metrics validated and sane
stress-ng: info: [68774] skipped: 0
stress-ng: info: [68774] passed: 2: rtc (2)
stress-ng: info: [68774] failed: 2: rtc (2)
This behaviour can be reproduced on mainline 6.9.0-060900rc5-generic with the same PowerPC VM as well.
Ah, ok, I've pushed the following RTC fix for the other ioctls:
commit 4e444914f35700b42e46f1305d9efd8f2705c537 (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Wed May 8 18:28:13 2024 +0100
stress-rtc: ignore ioctl EINVAL errors if the ioctl is not implemented
Older kernels may not support the RTC_* ioctls, so silently ignore
undefined stress_asm_ppc64_yield() fixed with commit:
commit f4ea9eb5edc894efbfc025b3eb40bd6fc2672e00 (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Wed May 8 18:51:10 2024 +0100
core-lock: include asm headers for arch specific pause/yield ops
Fixes: d32613839d3b ("core-lock: add pause/yield in spinlock for architectures other than x86")
undefined lsm system call fixed with commit:
commit 9dfdfd1658907448120e39729ccd0dfb0afc32dc Author: Colin Ian King colin.i.king@gmail.com Date: Wed May 8 19:04:40 2024 +0100
stress-lsm: fix missing shim_lsm_set_self_attr helper
Fixes commit 87c7e613dcf1 ("stress-lsm: exercise lsm set with invalid ctx_len")
Verified on F-5.4 and N-6.8 PowerPC VM. With these commits test can be built without any issue now, and the test can passed without any issue, thanks!
Hi Colin, with the stress-ng 0.17.08 gb7c7a5877501 we found this test is failing with both P8 VM and P9 bare-metal, here is the output from Focal:
I don't have chance to do a bisect yet, but 0.17.06 is good. Let me know if you need any other information.