AW: [PATCH] sppps01: Add test case for early returns of pps_event()

Gabriel.Moyano at dlr.de Gabriel.Moyano at dlr.de
Tue Jul 26 08:03:40 UTC 2022


Hi Kinsey,

Sorry for the late response, I wasn't available.

The patch added a new test case (PPSEventEarlyReturns) for increasing the test coverage. The test case checks whether the function pps_event() (in file kern_tc.c) returns early. According to the result you shared, the test is failing in lines 115 and 119, which means that there is no early return of the function pps_event() due to saving the timecounter in the pps_state object (line 2225 of kern_tc.c). My guess is that saving the timecounter is happening in the previous call of pps_event() (in line 109 of the test case). Unfortunately I cannot understand why this is failing in intermittently manner (apparently just in QEMU).

I hope this helps you to understand/debug.

Best regards,
Gabriel

> This change seems to have made the test intermittently failing on
> AArch64 under QEMU:
> 
> *** BEGIN OF TEST SPPPS 1 ***
> *** TEST VERSION: 6.0.0.4142fd12385473426b461560b76cee6e903dc2cd
> *** TEST STATE: EXPECTED_PASS
> *** TEST BUILD: RTEMS_POSIX_API RTEMS_SMP
> *** TEST TOOLS: 12.1.1 20220622 (RTEMS 6, RSB a4608ce16e94066aea82f22849e24d4fcd90699b, Newlib 27fd806) A:SPPPS 1
> S:Platform:RTEMS
> S:Compiler:12.1.1 20220622 (RTEMS 6, RSB a4608ce16e94066aea82f22849e24d4fcd90699b, Newlib 27fd806)
> S:Version:6.0.0.4142fd12385473426b461560b76cee6e903dc2cd
> S:BSP:xilinx_zynqmp_lp64_qemu
> S:BuildLabel:DEFAULT
> S:TargetHash:SHA256:huGRj7kHeBWgSJolmeboNSyCgeX2U62J9RiNQ18YPFc=
> S:RTEMS_DEBUG:0
> S:RTEMS_MULTIPROCESSING:0
> S:RTEMS_POSIX_API:1
> S:RTEMS_PROFILING:0
> S:RTEMS_SMP:1
> B:WakeupTaskWithPPSEvent
> P:0:0:UI1:init.c:195
> P:1:0:UI1:init.c:209
> P:2:0:UI1:init.c:211
> P:3:0:PPSE:init.c:160
> P:4:0:UI1:init.c:214
> P:5:0:PPSE:init.c:162
> P:6:0:PPSE:init.c:164
> P:7:0:UI1:init.c:221
> E:WakeupTaskWithPPSEvent:N:8:F:0:D:0.008009
> B:WaitPPSEventDefaultHandler
> P:0:0:UI1:init.c:73
> P:1:0:UI1:init.c:77
> E:WaitPPSEventDefaultHandler:N:2:F:0:D:0.000508
> B:PPSEventEarlyReturns
> P:0:0:UI1:init.c:103
> P:1:0:UI1:init.c:110
> F:2:0:UI1:init.c:115:1 == 0
> F:3:0:UI1:init.c:119:2 == 1
> E:PPSEventEarlyReturns:N:4:F:2:D:0.001525
> Z:SPPPS 1:C:3:N:14:F:2:D:0.013109
> Y:ReportHash:SHA256:B-CITRKa5X9NJy8JfEPbCr_F_tm6UNBuwfKzHcxhWks=
> 
> [ RTEMS shutdown ]
> CPU: 0
> RTEMS version: 6.0.0.4142fd12385473426b461560b76cee6e903dc2cd
> RTEMS tools: 12.1.1 20220622 (RTEMS 6, RSB a4608ce16e94066aea82f22849e24d4fcd90699b, Newlib 27fd806) executing thread ID:
> 0x08a010001 executing thread name: UI1
> 
> 
> It appears to work consistently on hardware (at least for a sample size
> of around 10 test runs) and before this patch it worked consistently on
> QEMU as well.
> 


More information about the devel mailing list