malloc: Use C11 atomics rather than atomic_exchange_and_add
Replace a few counters using atomic_exchange_and_add with atomic_fetch_add_relaxed. Reviewed-by: Florian Weimer <fweimer@redhat.com>
This commit is contained in:
parent
76fe56020e
commit
89d40cacd0
|
@ -2460,11 +2460,11 @@ sysmalloc_mmap (INTERNAL_SIZE_T nb, size_t pagesize, int extra_flags, mstate av)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update statistics */
|
/* update statistics */
|
||||||
int new = atomic_exchange_and_add (&mp_.n_mmaps, 1) + 1;
|
int new = atomic_fetch_add_relaxed (&mp_.n_mmaps, 1) + 1;
|
||||||
atomic_max (&mp_.max_n_mmaps, new);
|
atomic_max (&mp_.max_n_mmaps, new);
|
||||||
|
|
||||||
unsigned long sum;
|
unsigned long sum;
|
||||||
sum = atomic_exchange_and_add (&mp_.mmapped_mem, size) + size;
|
sum = atomic_fetch_add_relaxed (&mp_.mmapped_mem, size) + size;
|
||||||
atomic_max (&mp_.max_mmapped_mem, sum);
|
atomic_max (&mp_.max_mmapped_mem, sum);
|
||||||
|
|
||||||
check_chunk (av, p);
|
check_chunk (av, p);
|
||||||
|
@ -3084,7 +3084,7 @@ mremap_chunk (mchunkptr p, size_t new_size)
|
||||||
set_head (p, (new_size - offset) | IS_MMAPPED);
|
set_head (p, (new_size - offset) | IS_MMAPPED);
|
||||||
|
|
||||||
INTERNAL_SIZE_T new;
|
INTERNAL_SIZE_T new;
|
||||||
new = atomic_exchange_and_add (&mp_.mmapped_mem, new_size - size - offset)
|
new = atomic_fetch_add_relaxed (&mp_.mmapped_mem, new_size - size - offset)
|
||||||
+ new_size - size - offset;
|
+ new_size - size - offset;
|
||||||
atomic_max (&mp_.max_mmapped_mem, new);
|
atomic_max (&mp_.max_mmapped_mem, new);
|
||||||
return p;
|
return p;
|
||||||
|
|
Loading…
Reference in a new issue