add extent_nfree_sub

This commit is contained in:
Dave Watson 2018-10-29 15:09:21 -07:00
parent 4b82872ebf
commit 17aa470760
2 changed files with 7 additions and 1 deletions

View File

@ -264,6 +264,12 @@ extent_nfree_dec(extent_t *extent) {
extent->e_bits -= ((uint64_t)1U << EXTENT_BITS_NFREE_SHIFT); extent->e_bits -= ((uint64_t)1U << EXTENT_BITS_NFREE_SHIFT);
} }
static inline void
extent_nfree_sub(extent_t *extent, uint64_t n) {
assert(extent_slab_get(extent));
extent->e_bits -= (n << EXTENT_BITS_NFREE_SHIFT);
}
static inline void static inline void
extent_sn_set(extent_t *extent, size_t sn) { extent_sn_set(extent_t *extent, size_t sn) {
extent->e_bits = (extent->e_bits & ~EXTENT_BITS_SN_MASK) | extent->e_bits = (extent->e_bits & ~EXTENT_BITS_SN_MASK) |

View File

@ -283,10 +283,10 @@ arena_slab_reg_alloc_batch(extent_t *slab, const bin_info_t *bin_info,
regind = bitmap_sfu(slab_data->bitmap, &bin_info->bitmap_info); regind = bitmap_sfu(slab_data->bitmap, &bin_info->bitmap_info);
ret = (void *)((uintptr_t)extent_addr_get(slab) + ret = (void *)((uintptr_t)extent_addr_get(slab) +
(uintptr_t)(bin_info->reg_size * regind)); (uintptr_t)(bin_info->reg_size * regind));
extent_nfree_dec(slab);
*(ptrs + i) = ret; *(ptrs + i) = ret;
} }
extent_nfree_sub(slab, cnt);
} }
#ifndef JEMALLOC_JET #ifndef JEMALLOC_JET