arena_chunk_dirty_node_init() --> extent_node_dirty_linkage_init()
This commit is contained in:
parent
eafebfdfbe
commit
47701b22ee
@ -77,6 +77,7 @@ void extent_node_achunk_set(extent_node_t *node, bool achunk);
|
|||||||
void extent_node_prof_tctx_set(extent_node_t *node, prof_tctx_t *tctx);
|
void extent_node_prof_tctx_set(extent_node_t *node, prof_tctx_t *tctx);
|
||||||
void extent_node_init(extent_node_t *node, arena_t *arena, void *addr,
|
void extent_node_init(extent_node_t *node, arena_t *arena, void *addr,
|
||||||
size_t size, bool zeroed);
|
size_t size, bool zeroed);
|
||||||
|
void extent_node_dirty_linkage_init(extent_node_t *node);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_EXTENT_C_))
|
#if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_EXTENT_C_))
|
||||||
@ -177,6 +178,14 @@ extent_node_init(extent_node_t *node, arena_t *arena, void *addr, size_t size,
|
|||||||
if (config_prof)
|
if (config_prof)
|
||||||
extent_node_prof_tctx_set(node, NULL);
|
extent_node_prof_tctx_set(node, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JEMALLOC_INLINE void
|
||||||
|
extent_node_dirty_linkage_init(extent_node_t *node)
|
||||||
|
{
|
||||||
|
|
||||||
|
qr_new(node, cd_link);
|
||||||
|
qr_new(&node->runs_dirty, rd_link);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* JEMALLOC_H_INLINES */
|
#endif /* JEMALLOC_H_INLINES */
|
||||||
|
@ -182,6 +182,7 @@ extent_node_addr_get
|
|||||||
extent_node_addr_set
|
extent_node_addr_set
|
||||||
extent_node_arena_get
|
extent_node_arena_get
|
||||||
extent_node_arena_set
|
extent_node_arena_set
|
||||||
|
extent_node_dirty_linkage_init
|
||||||
extent_node_init
|
extent_node_init
|
||||||
extent_node_prof_tctx_get
|
extent_node_prof_tctx_get
|
||||||
extent_node_prof_tctx_set
|
extent_node_prof_tctx_set
|
||||||
|
14
src/arena.c
14
src/arena.c
@ -152,14 +152,6 @@ arena_chunk_dirty_npages(const extent_node_t *node)
|
|||||||
return (extent_node_size_get(node) >> LG_PAGE);
|
return (extent_node_size_get(node) >> LG_PAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
arena_chunk_dirty_node_init(extent_node_t *node)
|
|
||||||
{
|
|
||||||
|
|
||||||
qr_new(node, cd_link);
|
|
||||||
qr_new(&node->runs_dirty, rd_link);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
arena_chunk_dirty_insert(arena_chunk_map_misc_t *runs_dirty,
|
arena_chunk_dirty_insert(arena_chunk_map_misc_t *runs_dirty,
|
||||||
extent_node_t *chunks_dirty, extent_node_t *node)
|
extent_node_t *chunks_dirty, extent_node_t *node)
|
||||||
@ -181,8 +173,8 @@ void
|
|||||||
arena_chunk_dirty_maybe_insert(arena_t *arena, extent_node_t *node, bool dirty)
|
arena_chunk_dirty_maybe_insert(arena_t *arena, extent_node_t *node, bool dirty)
|
||||||
{
|
{
|
||||||
|
|
||||||
arena_chunk_dirty_node_init(node);
|
|
||||||
if (dirty) {
|
if (dirty) {
|
||||||
|
extent_node_dirty_linkage_init(node);
|
||||||
arena_chunk_dirty_insert(&arena->runs_dirty,
|
arena_chunk_dirty_insert(&arena->runs_dirty,
|
||||||
&arena->chunks_dirty, node);
|
&arena->chunks_dirty, node);
|
||||||
arena->ndirty += arena_chunk_dirty_npages(node);
|
arena->ndirty += arena_chunk_dirty_npages(node);
|
||||||
@ -1054,7 +1046,7 @@ arena_stash_dirty(arena_t *arena, bool all, size_t npurge,
|
|||||||
*/
|
*/
|
||||||
assert(tnode != NULL);
|
assert(tnode != NULL);
|
||||||
extent_node_init(tnode, arena, addr, size, zeroed);
|
extent_node_init(tnode, arena, addr, size, zeroed);
|
||||||
arena_chunk_dirty_node_init(tnode);
|
extent_node_dirty_linkage_init(tnode);
|
||||||
/* Stash. */
|
/* Stash. */
|
||||||
arena_chunk_dirty_insert(purge_runs_sentinel,
|
arena_chunk_dirty_insert(purge_runs_sentinel,
|
||||||
purge_chunks_sentinel, tnode);
|
purge_chunks_sentinel, tnode);
|
||||||
@ -1223,7 +1215,7 @@ arena_purge(arena_t *arena, bool all)
|
|||||||
|
|
||||||
npurge = arena_compute_npurge(arena, all);
|
npurge = arena_compute_npurge(arena, all);
|
||||||
qr_new(&purge_runs_sentinel, rd_link);
|
qr_new(&purge_runs_sentinel, rd_link);
|
||||||
arena_chunk_dirty_node_init(&purge_chunks_sentinel);
|
extent_node_dirty_linkage_init(&purge_chunks_sentinel);
|
||||||
|
|
||||||
npurgeable = arena_stash_dirty(arena, all, npurge, &purge_runs_sentinel,
|
npurgeable = arena_stash_dirty(arena, all, npurge, &purge_runs_sentinel,
|
||||||
&purge_chunks_sentinel);
|
&purge_chunks_sentinel);
|
||||||
|
Loading…
Reference in New Issue
Block a user