Hi Przemyslaw, On 16 February 2015 at 08:13, Przemyslaw Marczak <p.marc...@samsung.com> wrote: > This commit introduces new config: CONFIG_SYS_MALLOC_INIT_SKIP_ZEROING. > > Before this change, the all amount of memory reserved for the malloc, > was set to zero in mem_malloc_init(). When the malloc reserved memory > exceeds few MiB, then the boot process can slow down. > > So enabling this config, is an option to reduce the boot time. > > Note: > After enable this option, only calloc() will return the pointer to zeroed > memory area. Previously, without this option, the memory pointed to untouched > malloc memory region, was filled with zeros. So it means, that code with > malloc() calls should be reexamined.
Can this go in Kconfig somewhere? > > Signed-off-by: Przemyslaw Marczak <p.marc...@samsung.com> > --- > common/dlmalloc.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/common/dlmalloc.c b/common/dlmalloc.c > index 6453ee9..63f68ed 100644 > --- a/common/dlmalloc.c > +++ b/common/dlmalloc.c > @@ -1535,9 +1535,9 @@ void mem_malloc_init(ulong start, ulong size) > > debug("using memory %#lx-%#lx for malloc()\n", mem_malloc_start, > mem_malloc_end); > - > - memset((void *)mem_malloc_start, 0, size); > - > +#ifndef CONFIG_SYS_MALLOC_INIT_SKIP_ZEROING > + memset((void *)mem_malloc_start, 0x0, size); > +#endif > malloc_bin_reloc(); > } > > @@ -2948,10 +2948,12 @@ Void_t* cALLOc(n, elem_size) size_t n; size_t > elem_size; > > > /* check if expand_top called, in which case don't need to clear */ > +#ifndef CONFIG_SYS_MALLOC_INIT_SKIP_ZEROING > #if MORECORE_CLEARS > mchunkptr oldtop = top; > INTERNAL_SIZE_T oldtopsize = chunksize(top); > #endif > +#endif > Void_t* mem = mALLOc (sz); > > if ((long)n < 0) return NULL; > @@ -2977,6 +2979,7 @@ Void_t* cALLOc(n, elem_size) size_t n; size_t elem_size; > > csz = chunksize(p); > > +#ifndef CONFIG_SYS_MALLOC_INIT_SKIP_ZEROING > #if MORECORE_CLEARS > if (p == oldtop && csz > oldtopsize) > { > @@ -2984,6 +2987,7 @@ Void_t* cALLOc(n, elem_size) size_t n; size_t elem_size; > csz = oldtopsize; > } > #endif > +#endif > > MALLOC_ZERO(mem, csz - SIZE_SZ); > return mem; > -- > 1.9.1 > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot