openeuler-riscv / oerv-team

OERV 实习生工作中心
8 stars 39 forks source link

LTP: 调研sched_rr_get_interval失败问题 #773

Open laokz opened 5 months ago

laokz commented 5 months ago

https://github.com/openEuler-RISCV/QA/tree/main/testreport/24.03/round1/performance-test/ltp_function

<<<test_start>>>
tag=sched_rr_get_interval01 stime=1714359195
cmdline="sched_rr_get_interval01"
contacts=""
analysis=exit
<<<test_output>>>
tst_test.c:1709: TINFO: LTP version: v2023.12.28-23-g951e1376b
tst_test.c:1593: TINFO: Timeout per run is 0h 00m 30s
sched_rr_get_interval01.c:40: TINFO: Testing variant: vDSO or syscall with libc spec
sched_rr_get_interval01.c:45: TFAIL: sched_setscheduler() failed: EPERM (1)
sched_rr_get_interval01.c:57: TPASS: sched_rr_get_interval() passed
sched_rr_get_interval01.c:67: TFAIL: Invalid time quantum 0s 0ns
sched_rr_get_interval01.c:72: TFAIL: /proc/sys/kernel/sched_rr_timeslice_ms != 0 got 100
sched_rr_get_interval01.c:40: TINFO: Testing variant: syscall with old kernel spec
sched_rr_get_interval01.c:45: TFAIL: sched_setscheduler() failed: EPERM (1)
sched_rr_get_interval01.c:57: TPASS: sched_rr_get_interval() passed
sched_rr_get_interval01.c:67: TFAIL: Invalid time quantum 0s 0ns
sched_rr_get_interval01.c:72: TFAIL: /proc/sys/kernel/sched_rr_timeslice_ms != 0 got 100

HINT: You _MAY_ be missing kernel fixes:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=975e155ed873
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c7fcb99877f9
<<<test_start>>>
tag=sched_rr_get_interval02 stime=1714359195
cmdline="sched_rr_get_interval02"
contacts=""
analysis=exit
<<<test_output>>>
tst_test.c:1709: TINFO: LTP version: v2023.12.28-23-g951e1376b
tst_test.c:1593: TINFO: Timeout per run is 0h 00m 30s
sched_rr_get_interval02.c:34: TINFO: Testing variant: vDSO or syscall with libc spec
sched_rr_get_interval02.c:39: TFAIL: sched_setscheduler() failed: EPERM (1)
sched_rr_get_interval02.c:52: TPASS: sched_rr_get_interval() passed
sched_rr_get_interval02.c:34: TINFO: Testing variant: syscall with old kernel spec
sched_rr_get_interval02.c:39: TFAIL: sched_setscheduler() failed: EPERM (1)
sched_rr_get_interval02.c:52: TPASS: sched_rr_get_interval() passed
<<<test_start>>>
tag=sched_rr_get_interval03 stime=1714359195
cmdline="sched_rr_get_interval03"
contacts=""
analysis=exit
<<<test_output>>>
tst_test.c:1709: TINFO: LTP version: v2023.12.28-23-g951e1376b
tst_test.c:1593: TINFO: Timeout per run is 0h 00m 30s
sched_rr_get_interval03.c:53: TINFO: Testing variant: vDSO or syscall with libc spec
sched_rr_get_interval03.c:59: TFAIL: sched_setscheduler() failed: EPERM (1)
sched_rr_get_interval03.c:81: TPASS: sched_rr_get_interval(-1, 0x34ee0) : EINVAL (22)
sched_rr_get_interval03.c:81: TPASS: sched_rr_get_interval(4194304, 0x34ee0) : ESRCH (3)
sched_rr_get_interval03.c:72: TCONF: EFAULT skipped for libc_variant
sched_rr_get_interval03.c:53: TINFO: Testing variant: syscall with old kernel spec
sched_rr_get_interval03.c:59: TFAIL: sched_setscheduler() failed: EPERM (1)
sched_rr_get_interval03.c:81: TPASS: sched_rr_get_interval(-1, 0x34ee0) : EINVAL (22)
sched_rr_get_interval03.c:81: TPASS: sched_rr_get_interval(4194304, 0x34ee0) : ESRCH (3)
sched_rr_get_interval03.c:81: TPASS: sched_rr_get_interval(0, 0x3f835fe000) : EFAULT (14)
laokz commented 4 months ago

复测通过(以root权限执行),测试环境同irqbalance

<<<test_start>>>      
tag=sched_rr_get_interval01 stime=1716177206                                                    
cmdline="sched_rr_get_interval01"
contacts=""   
analysis=exit                        
<<<test_output>>>                   
incrementing stop
tst_test.c:1730: TINFO: LTP version: 20240129-279-ge644691d3          
tst_test.c:1614: TINFO: Timeout per run is 0h 05m 00s
sched_rr_get_interval01.c:44: TINFO: Testing variant: vDSO or syscall with libc spec
sched_rr_get_interval01.c:61: TPASS: sched_rr_get_interval() passed
sched_rr_get_interval01.c:68: TPASS: Time quantum 0s 100000000ns      
sched_rr_get_interval01.c:76: TPASS: /proc/sys/kernel/sched_rr_timeslice_ms = 100
sched_rr_get_interval01.c:44: TINFO: Testing variant: syscall with old kernel spec
sched_rr_get_interval01.c:61: TPASS: sched_rr_get_interval() passed
sched_rr_get_interval01.c:68: TPASS: Time quantum 0s 100000000ns
sched_rr_get_interval01.c:76: TPASS: /proc/sys/kernel/sched_rr_timeslice_ms = 100

Summary:
passed   6
failed   0
broken   0
skipped  0
warnings 0

<<<test_start>>>                     
tag=sched_rr_get_interval02 stime=1716177365
cmdline="sched_rr_get_interval02"
contacts=""                                                                                     
analysis=exit
<<<test_output>>>                    
incrementing stop                                                                               
tst_test.c:1730: TINFO: LTP version: 20240129-279-ge644691d3          
tst_test.c:1614: TINFO: Timeout per run is 0h 05m 00s
sched_rr_get_interval02.c:37: TINFO: Testing variant: vDSO or syscall with libc spec
sched_rr_get_interval02.c:55: TPASS: sched_rr_get_interval() passed
sched_rr_get_interval02.c:37: TINFO: Testing variant: syscall with old kernel spec
sched_rr_get_interval02.c:55: TPASS: sched_rr_get_interval() passed

Summary:
passed   2
failed   0
broken   0
skipped  0
warnings 0

<<<test_start>>>                                                                                                                                                              11:56:56 tag=sched_rr_get_interval03 stime=1716177416                                                    
cmdline="sched_rr_get_interval03"
contacts=""   
analysis=exit                        
<<<test_output>>>                   
incrementing stop
tst_test.c:1730: TINFO: LTP version: 20240129-279-ge644691d3          
tst_test.c:1614: TINFO: Timeout per run is 0h 05m 00s
sched_rr_get_interval03.c:59: TINFO: Testing variant: vDSO or syscall with libc spec
sched_rr_get_interval03.c:87: TPASS: sched_rr_get_interval(-1, 0x36ed0) : EINVAL (22)
sched_rr_get_interval03.c:87: TPASS: sched_rr_get_interval(4194304, 0x36ed0) : ESRCH (3)
sched_rr_get_interval03.c:78: TCONF: EFAULT skipped for libc_variant
sched_rr_get_interval03.c:59: TINFO: Testing variant: syscall with old kernel spec
sched_rr_get_interval03.c:87: TPASS: sched_rr_get_interval(-1, 0x36ed0) : EINVAL (22)
sched_rr_get_interval03.c:87: TPASS: sched_rr_get_interval(4194304, 0x36ed0) : ESRCH (3)
sched_rr_get_interval03.c:87: TPASS: sched_rr_get_interval(0, 0x7fff8d69c000) : EFAULT (14)

Summary:
passed   5
failed   0
broken   0
skipped  1
warnings 0