mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-09 08:37:04 +02:00
BUG/MINOR: memprof: properly account for differences for realloc()
The realloc() function checks if the size grew or reduced in order to count an allocation or a free, but it does so with the absolute (new or old) value instead of the difference, resulting in realloc() often being credited for allocating too much. No backport is needed.
This commit is contained in:
parent
3df5989960
commit
79acefa749
@ -281,10 +281,10 @@ void *realloc(void *ptr, size_t size)
|
||||
bin = memprof_get_bin(__builtin_return_address(0));
|
||||
if (size > size_before) {
|
||||
_HA_ATOMIC_ADD(&bin->alloc_calls, 1);
|
||||
_HA_ATOMIC_ADD(&bin->alloc_tot, size);
|
||||
_HA_ATOMIC_ADD(&bin->alloc_tot, size - size_before);
|
||||
} else if (size < size_before) {
|
||||
_HA_ATOMIC_ADD(&bin->free_calls, 1);
|
||||
_HA_ATOMIC_ADD(&bin->free_tot, size_before);
|
||||
_HA_ATOMIC_ADD(&bin->free_tot, size_before - size);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user