RFC eliminating zeroing of heap/workspace
Joel Sherrill
joel.sherrill at oarcorp.com
Thu Apr 5 22:02:21 UTC 2007
Thomas Doerfler wrote:
> Hi Eric,
>
> Eric Norum schrieb:
>
>> Nothing in the C standard nor in the RTEMS documentation promises
>> anything about the contents of dynamically allocated memory (other
>> than calloc, and that routine clears the memory itself before handing
>> back the pointer). I'd say don't bother with the clearing. A 30x
>> speedup sounds worthwhile to me.
>>
>
> I am a bit more reluctant on this. Eric, basically you are right, nobody
> specified that chunks of the heap are cleared (that's what calloc
> provides), but I see two benefits:
>
>
i am reluctant as well or I wouldn't have asked but it is a LOT of
cycles that
by default are consumed.
> 1.) some systems NEED the memory to be cleared after power up, simply to
> initialize it in sync with its ECC error correction code
>
> 2.) The behaviour of systems is a bit more repeatable when the memory is
> set to a known state after boot
>
>
Agreed and if this is the case, then the BSP certainly has the option of
turning on the cpu_table.do_zero flag.
> These are not really striking arguments, so I am a bit torn between
> zeroing memory or not. And no, I don't think this is worth another
> general RTEMS configuration option :-)
>
>
It already is. :) I just changed the default in bspstart.c from TRUE to
FALSE. :)
> wkr,
> Thomas.
>
>
>> On Apr 5, 2007, at 3:58 PM, Joel Sherrill wrote:
>>
>>
>>
>>> Hi,
>>>
>>> I have done some investigation on a simulator
>>> and determined that much of the time required
>>> to bring the minimum test from reset to the
>>> first task is consumed by zero'ing the
>>> C Program Heap and RTEMS Workspace.
>>>
>>> My testing is on a simulated system which
>>> has 4MB of RAM and zeroes all but maybe
>>> 64K of it since that is the code and data.
>>> It takes 97% of the boot time to clear this
>>> much RAM.
>>>
>>> What's the general sentiment about clearing:
>>>
>>> + the C program heap
>>> + the RTEMS workspace
>>>
>>> Just wanting opinions and thoughts.
>>>
>>> --joel
>>> _______________________________________________
>>> rtems-users mailing list
>>> rtems-users at rtems.com
>>> http://rtems.rtems.org/mailman/listinfo/rtems-users
>>>
>>
>
>
>
More information about the users
mailing list