Planned SMP Improvements
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Feb 3 08:22:51 UTC 2016
On 03/02/16 09:16, Darshit Shah wrote:
>> Breakpoint 1, _Thread_Set_state (the_thread=0x21a3e0, state=262144) at
>> >rtems-4.12/c/src/../../cpukit/score/src/threadsetstate.c:39
>> >39 _Scheduler_Acquire( the_thread, &lock_context );
>> >(gdb) bt
>> >#0 _Thread_Set_state (the_thread=0x21a3e0, state=262144) at
>> >rtems-4.12/c/src/../../cpukit/score/src/threadsetstate.c:39
>> >#1 0x0010c43e in _Event_Seize (event_in=2147483648, option_set=0, ticks=0,
>> >event_out=0x24f96c, executing=0x21a3e0, event=0x21a5f8, wait_class=512,
>> >block_state=262144, lock_context=0x24f944)
>> > at rtems-4.12/c/src/../../cpukit/rtems/src/eventseize.c:101
>> >#2 0x0010f080 in rtems_event_system_receive (event_in=2147483648,
>> >option_set=0, ticks=0, event_out=0x24f96c) at
>> >rtems-4.12/c/src/../../cpukit/rtems/src/systemeventreceive.c:52
>> >#3 0x00100b58 in rtems_event_transient_receive (option_set=0, ticks=0) at
>> >../../../../../realview_pbx_a9_qemu_smp/lib/include/rtems/rtems/event.h:484
>> >#4 0x00101568 in test () at
>> >rtems-4.12/c/src/../../testsuites/smptests/smpload01/init.c:333
>> >#5 0x0010177a in Init (arg=2150284) at
>> >rtems-4.12/c/src/../../testsuites/smptests/smpload01/init.c:384
>> >#6 0x00118efa in _Thread_Entry_adaptor_numeric (executing=0x21a3e0) at
>> >rtems-4.12/c/src/../../cpukit/score/src/threadentryadaptornumeric.c:25
>> >#7 0x00121524 in _Thread_Handler () at
>> >rtems-4.12/c/src/../../cpukit/score/src/threadhandler.c:93
>> >#8 0x001214ce in _User_extensions_Thread_exitted (executing=0x1214cf
>> ><_Thread_Handler>) at
>> >../../cpukit/../../../realview_pbx_a9_qemu_smp/lib/include/rtems/score/userextimpl.h:244
>> >#9 0x00001008 in ?? ()
>> >Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>> >(gdb)
>> >
>> >If you are not familiar with the command line GDB, then I recommend to do a
>> >GDB tutorial first.
>> >
> Now stepping through the scheduler. Will spend some time looking into
> this and the source directly to see what I am able to gather.
We use a lot of inline functions via function pointers in this area, so
stepping through is not easy. However, you see the relevant code parts.
The scheduler is currently a bit more complicated due to the scheduler
helping protocol. This will hopefully change with the OMIP implementation.
--
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.
More information about the devel
mailing list