[PATCH 2/3] score: Place object controls into .noinit sections
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
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