Potential SIS or RTEMS/libbsd problem
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed May 22 06:03:31 UTC 2019
Hello,
in the libbsd there is a test for the Epoch Based Reclamation:
https://git.rtems.org/rtems-libbsd/tree/testsuite/epoch01/test_main.c
When I run this test using the leon3 BSP on real hardware (150MHz NGMP
FP) the test completes successfully.
If I run the test on the SIS, it is stuck at some point (using "-m 1"
works):
sparc-rtems5-sis -leon3 -nouartrx -r -tlim 200 s -m 2
build/sparc-rtems5-leon3-everything/epoch01.exe
SIS - SPARC/RISCV instruction simulator 2.13, copyright Jiri Gaisler 2019
Bug-reports to jiri at gaisler.se
LEON3 emulation enabled, 2 cpus online, delta 50 clocks
Waking CPU 1
*** LIBBSD EPOCH 1 TEST ***
nexus0: <RTEMS Nexus device>
<TestEpoch01>
<EnterExit activeWorker="1">
<Counter worker="0">74356</Counter>
</EnterExit>
<EnterExit activeWorker="2">
<Counter worker="0">74465</Counter>
<Counter worker="1">59621</Counter>
</EnterExit>
<EnterListOpExit activeWorker="1">
<Counter worker="0">53487</Counter>
<Removals worker="0">82</Removals>
</EnterListOpExit>
<EnterListOpExit activeWorker="2">
<Counter worker="0">52178</Counter>
<Counter worker="1">57348</Counter>
<Removals worker="0">46</Removals>
<Removals worker="1">46</Removals>
</EnterListOpExit>
<EnterExitPreempt activeWorker="1">
<Counter worker="0">36684</Counter>
</EnterExitPreempt>
<EnterExitPreempt activeWorker="2">
<Counter worker="0">36853</Counter>
<Counter worker="1">29430</Counter>
</EnterExitPreempt>
<EnterListOpExitPreempt activeWorker="1">
<Counter worker="0">30560</Counter>
<Removals worker="0">60</Removals>
</EnterListOpExitPreempt>
Interrupt!
Stopped at time 758152100 (15163.042 ms)
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
-------------- next part --------------
GRMON2 LEON debug monitor v2.0.92 64-bit pro version
Copyright (C) 2018 Cobham Gaisler - All rights reserved.
For latest updates, go to http://www.gaisler.com/
Comments or bug-reports to support at gaisler.com
Ethernet startup...
Device ID: 0x281
GRLIB build version: 4114
Detected system: NGMP FP
Detected frequency: 150 MHz
Component Vendor
JTAG Debug Link Cobham Gaisler
GRSPW2 SpaceWire Serial Link Cobham Gaisler
EDCL master interface Cobham Gaisler
EDCL master interface Cobham Gaisler
USB Debug Communication Link Cobham Gaisler
LEON4 SPARC V8 Processor Cobham Gaisler
LEON4 SPARC V8 Processor Cobham Gaisler
LEON4 SPARC V8 Processor Cobham Gaisler
LEON4 SPARC V8 Processor Cobham Gaisler
IO Memory Management Unit Cobham Gaisler
AHB-to-AHB Bridge Cobham Gaisler
L2-Cache Controller Cobham Gaisler
AHB Memory Scrubber Cobham Gaisler
IOMMU secondary master i/f Cobham Gaisler
AHB-to-AHB Bridge Cobham Gaisler
LEON4 Debug Support Unit Cobham Gaisler
AHB/APB Bridge Cobham Gaisler
AMBA Trace Buffer Cobham Gaisler
Single-port DDR2 controller Cobham Gaisler
Memory controller with EDAC Cobham Gaisler
AHB/APB Bridge Cobham Gaisler
AHB/APB Bridge Cobham Gaisler
GRPCI2 PCI/AHB bridge Cobham Gaisler
GRSPW Router Cobham Gaisler
LEON4 Statistics Unit Cobham Gaisler
GRPCI2 Trace buffer Cobham Gaisler
Generic UART Cobham Gaisler
Generic UART Cobham Gaisler
General Purpose I/O port Cobham Gaisler
Multi-processor Interrupt Ctrl. Cobham Gaisler
Modular Timer Unit Cobham Gaisler
Modular Timer Unit Cobham Gaisler
Modular Timer Unit Cobham Gaisler
Modular Timer Unit Cobham Gaisler
Modular Timer Unit Cobham Gaisler
GRSPW Router DMA interface Cobham Gaisler
GRSPW Router DMA interface Cobham Gaisler
GRSPW Router DMA interface Cobham Gaisler
GRSPW Router DMA interface Cobham Gaisler
GR Ethernet MAC Cobham Gaisler
GR Ethernet MAC Cobham Gaisler
PCI Arbiter European Space Agency
MIL-STD-1553B Interface Cobham Gaisler
SPI Controller Cobham Gaisler
Clock gating unit Cobham Gaisler
LEON4 Statistics Unit Cobham Gaisler
AHB Status Register Cobham Gaisler
AHB Status Register Cobham Gaisler
N2X PLL Dynamic Config. i/f Cobham Gaisler
N2X PLL Dynamic Config. i/f Cobham Gaisler
N2X PLL Dynamic Config. i/f Cobham Gaisler
N2X PLL Dynamic Config. i/f Cobham Gaisler
General Purpose Register Bank Cobham Gaisler
Use command 'info sys' to print a detailed report of attached cores
grmon2> load build/sparc-rtems5-leon3-default/epoch01.exe
40000000 .text 932.8kB / 932.8kB [===============>] 100%
400E9310 .rtemsroset 1.7kB / 1.7kB [===============>] 100%
40109A00 .data 40.1kB / 40.1kB [===============>] 100%
40113A80 .rtemsrwset 1.6kB / 1.6kB [===============>] 100%
Total size: 976.18kB (42.99Mbit/s)
Entry point 0x40000000
Image /home/sebh/src/rtems-libbsd/build/sparc-rtems5-leon3-default/epoch01.exe loaded
grmon2> run
*** LIBBSD EPOCH 1 TEST ***
nexus0: <RTEMS Nexus device>
<TestEpoch01>
<EnterExit activeWorker="1">
<Counter worker="0">1051503</Counter>
</EnterExit>
<EnterExit activeWorker="2">
<Counter worker="0">1038554</Counter>
<Counter worker="1">1030405</Counter>
</EnterExit>
<EnterExit activeWorker="3">
<Counter worker="0">1043626</Counter>
<Counter worker="1">1035467</Counter>
<Counter worker="2">1045570</Counter>
</EnterExit>
<EnterExit activeWorker="4">
<Counter worker="0">1038445</Counter>
<Counter worker="1">1030291</Counter>
<Counter worker="2">1040402</Counter>
<Counter worker="3">1040389</Counter>
</EnterExit>
<EnterListOpExit activeWorker="1">
<Counter worker="0">978162</Counter>
<Removals worker="0">100</Removals>
</EnterListOpExit>
<EnterListOpExit activeWorker="2">
<Counter worker="0">877358</Counter>
<Counter worker="1">884096</Counter>
<Removals worker="0">50</Removals>
<Removals worker="1">50</Removals>
</EnterListOpExit>
<EnterListOpExit activeWorker="3">
<Counter worker="0">781217</Counter>
<Counter worker="1">781410</Counter>
<Counter worker="2">786162</Counter>
<Removals worker="0">25</Removals>
<Removals worker="1">25</Removals>
<Removals worker="2">25</Removals>
</EnterListOpExit>
<EnterListOpExit activeWorker="4">
<Counter worker="0">697105</Counter>
<Counter worker="1">692517</Counter>
<Counter worker="2">699049</Counter>
<Counter worker="3">699011</Counter>
<Removals worker="0">20</Removals>
<Removals worker="1">19</Removals>
<Removals worker="2">19</Removals>
<Removals worker="3">19</Removals>
</EnterListOpExit>
<EnterExitPreempt activeWorker="1">
<Counter worker="0">407866</Counter>
</EnterExitPreempt>
<EnterExitPreempt activeWorker="2">
<Counter worker="0">408805</Counter>
<Counter worker="1">413962</Counter>
</EnterExitPreempt>
<EnterExitPreempt activeWorker="3">
<Counter worker="0">405455</Counter>
<Counter worker="1">410591</Counter>
<Counter worker="2">410587</Counter>
</EnterExitPreempt>
<EnterExitPreempt activeWorker="4">
<Counter worker="0">403170</Counter>
<Counter worker="1">408273</Counter>
<Counter worker="2">408253</Counter>
<Counter worker="3">408248</Counter>
</EnterExitPreempt>
<EnterListOpExitPreempt activeWorker="1">
<Counter worker="0">394380</Counter>
<Removals worker="0">66</Removals>
</EnterListOpExitPreempt>
<EnterListOpExitPreempt activeWorker="2">
<Counter worker="0">375297</Counter>
<Counter worker="1">373378</Counter>
<Removals worker="0">32</Removals>
<Removals worker="1">32</Removals>
</EnterListOpExitPreempt>
<EnterListOpExitPreempt activeWorker="3">
<Counter worker="0">354052</Counter>
<Counter worker="1">354322</Counter>
<Counter worker="2">356218</Counter>
<Removals worker="0">27</Removals>
<Removals worker="1">27</Removals>
<Removals worker="2">27</Removals>
</EnterListOpExitPreempt>
<EnterListOpExitPreempt activeWorker="4">
<Counter worker="0">337953</Counter>
<Counter worker="1">335772</Counter>
<Counter worker="2">339026</Counter>
<Counter worker="3">337409</Counter>
<Removals worker="0">24</Removals>
<Removals worker="1">24</Removals>
<Removals worker="2">23</Removals>
<Removals worker="3">23</Removals>
</EnterListOpExitPreempt>
<ThreadLocalMutex activeWorker="1">
<Counter worker="0">754001</Counter>
</ThreadLocalMutex>
<ThreadLocalMutex activeWorker="2">
<Counter worker="0">759228</Counter>
<Counter worker="1">753117</Counter>
</ThreadLocalMutex>
<ThreadLocalMutex activeWorker="3">
<Counter worker="0">753263</Counter>
<Counter worker="1">746993</Counter>
<Counter worker="2">754783</Counter>
</ThreadLocalMutex>
<ThreadLocalMutex activeWorker="4">
<Counter worker="0">718739</Counter>
<Counter worker="1">712194</Counter>
<Counter worker="2">720337</Counter>
<Counter worker="3">720329</Counter>
</ThreadLocalMutex>
<EnterMutexExitPreempt activeWorker="1">
<Counter worker="0">270400</Counter>
</EnterMutexExitPreempt>
<EnterMutexExitPreempt activeWorker="2">
<Counter worker="0">264497</Counter>
<Counter worker="1">262031</Counter>
</EnterMutexExitPreempt>
<EnterMutexExitPreempt activeWorker="3">
<Counter worker="0">252632</Counter>
<Counter worker="1">257983</Counter>
<Counter worker="2">255668</Counter>
</EnterMutexExitPreempt>
<EnterMutexExitPreempt activeWorker="4">
<Counter worker="0">245445</Counter>
<Counter worker="1">249025</Counter>
<Counter worker="2">247358</Counter>
<Counter worker="3">249281</Counter>
</EnterMutexExitPreempt>
</TestEpoch01>
STACK USAGE BY THREAD
ID NAME LOW HIGH CURRENT AVAIL USED
0x09010001 IDLE 0x4019b780 0x4019c77f 0x4019c4d8 4080 760
0x09010002 IDLE 0x4019c788 0x4019d787 0x4019d4e0 4080 584
0x09010003 IDLE 0x4019d790 0x4019e78f 0x4019e4e8 4080 760
0x09010004 IDLE 0x4019e798 0x4019f797 0x4019f4f0 4080 584
0x0a010001 UI1 0x4019fa28 0x401a7a27 0x401a7640 32752 2960
0x0a010002 TIME 0x401a8278 0x401b0277 0x401aff98 32752 1408
0x0a010003 IRQS 0x401b02f8 0x401b82f7 0x401b8018 32752 924
0x0a010004 IRQS 0x401b8300 0x401c02ff 0x401c0020 32752 924
0x0a010005 IRQS 0x401c0308 0x401c8307 0x401c8028 32752 924
0x0a010006 IRQS 0x401c8310 0x401d030f 0x401d0030 32752 924
0x0a010007 thread taskq 0x401e2a60 0x401eaa5f 0x401ea780 32752 924
0x0a010008 swi6: Giant tas 0x401eac40 0x401f2c3f 0x401f2960 32752 924
0x0a010009 swi6: task queu 0x401f2e20 0x401fae1f 0x401fab40 32752 924
0x0a01000a kqueue_ctx task 0x401faf10 0x40202f0f 0x40202c30 32752 924
0x0a01000b config_0 0x40203008 0x4020b007 0x4020ad28 32752 924
0x0a01000c swi5: fast task 0x4020b1e8 0x402131e7 0x40212f08 32752 924
0x0a01000d swi1: netisr 0 0x40213340 0x4021b33f 0x4021b060 32752 924
0x0a01000e softirq_0 0x40233ef0 0x4023beef 0x4023bc10 32752 924
0x00000000 Interrupt Stack 0x400e9a00 0x400ea9ff 0x00000000 4080 1348
0x00000001 Interrupt Stack 0x400eaa00 0x400eb9ff 0x00000000 4080 1348
0x00000002 Interrupt Stack 0x400eba00 0x400ec9ff 0x00000000 4080 1348
0x00000003 Interrupt Stack 0x400eca00 0x400ed9ff 0x00000000 4080 1348
*** END OF TEST LIBBSD EPOCH 1 ***
CPU 0: Program exited normally.
CPU 1: Power down mode
CPU 2: Power down mode
CPU 3: Power down mode
More information about the devel
mailing list