[PATCH v1 0/9] Enable SMP for pc386 based bsps

Jan.Sommer at dlr.de Jan.Sommer at dlr.de
Thu Jun 18 07:46:01 UTC 2020



> -----Original Message-----
> From: Sebastian Huber [mailto:sebastian.huber at embedded-brains.de]
> Sent: Wednesday, June 10, 2020 3:50 PM
> To: Sommer, Jan; devel at rtems.org
> Subject: Re: [PATCH v1 0/9] Enable SMP for pc386 based bsps
> 
> On 31/05/2020 16:22, Jan Sommer wrote:
> 
> [...]
> 
> > Some details on the missing tests:
> > -----------------------------------
> > smpfatal09: This test actually does pass, but because the fatal error handler
> is executed before the console is initialized, no output is produced.
> >
> > smpclock01.exe: Here CPU0 disables its local interrupts and waits for a
> barrier release of CPU1. This means it doesn't handle timer interrupts
> anymore and doesn't send corresponding IPIs to other CPUs.
> > At the same time CPU1 is waiting for a timer event before releasing the
> barrier. Any hints how to resolve this are very welcome.
> This could be a Qemu timing issue.
> >

I think, it has to do with the implementation that only the CPU0 handles timer interrupts.
If its local interrupts are disabled, there is essentially no sense of time anymore for the system.
I created a ticket for it with some explanation (https://devel.rtems.org/ticket/4008), in case you have any suggestions.

Best regards,

   Jan

> > smpatomic01: This test seems very large and a bit complicated to me. I will
> have a look at it next, but any suggestions are welcome. It fails with this
> information:
> > ] === atomic or/and test case ===
> > ] worker 0 value: 1
> > ] worker 1 value: 0
> > ] atomic value: expected = 1, actual = 1
> > ] ../../../../../../smp-refex-
> rtems/c/src/../../testsuites/smptests/smpatomic01/init.c: 404 n - s <
> LONG_MAX
> > ]
> > ] *** FATAL ***
> This looks like a bug in smpatomic01. We need a better test case for
> atomic_thread_fence().
> >
> > smpopenmp01: I don't know more about openmp then what is on
> wikipedia. It has currently a low priority for me.
> This test should not fail. Could be also a Qemu issue.


More information about the devel mailing list