[PATCH 2/3] score: Place object controls into .noinit sections

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jul 15 05:41:50 UTC 2022

On 15.07.22 04:03, Chris Johns wrote:
> On 14/7/2022 11:13 pm, Sebastian Huber wrote:
>> Place the statically allocated object control blocks, local tables, and thread
>> queue heads into the dedicated .noinit intput sections.  The output section is
>> not zero initialized.
> Does the data held in no-init rely on code having to initialise all fields? Is
> the saving because there is code that already does this?

Yes, we have a double initialization. These elements were allocated from 
the workspace before the static allocation. The workspace allocates 
uninitialized data. We still have this uninitialized data if unlimited 
objects are used.

>> Placing these elements into the .noinit section reduces
>> the system initialization time by decreasing the .bss section size.
> How much data do you see that is being moved out of .bss to .noinit?

It depends on your application configuration. You have for example about 
700 bytes per task. I noticed this in an application which hit the 
watchdog due to an update to RTEMS 6 because of the longer boot time to 
the initialization task.

embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:

More information about the devel mailing list