[PATCH] calloc should not duplicate malloc logic.
Florian Weimer
fweimer@redhat.com
Wed Feb 26 11:40:00 GMT 2014
On 02/21/2014 04:04 PM, OndÅej BÃlka wrote:
> Hi,
>
> To make future improvements of allocator simpler we could for now calloc
> just call malloc and memset. With that we could omit a changes that
> would duplicate malloc changes anyway.
>
> It would temporarily decrease its performance, which is not primary
> concern now as we just started release cycle.
I tested the current implementation (well, in 2.18 in Fedora 20), and it
does not avoid the memset for large arrays, at least I see an RSS value
that matches the size of the allocated array. So I suppose this change
is okay because it does not seem likely it adds further breakage for
applications which rely on memory overcommit.
> In long time horizon it would improve maintainability and performance,
> my plan now is add a parameter used_by_calloc to internal malloc to
> keep logic together. We could not do it without some refactoring as
> int_malloc now has arena in parameter which is thing that I want to
> deduplicate.
An additional return value from the internal malloc, indicating whether
the memory is fresh/zeroed might be more appropriate.
--
Florian Weimer / Red Hat Product Security Team
More information about the Libc-alpha
mailing list