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