xref: /freebsd/contrib/jemalloc/include/jemalloc/internal/extent_dss.h (revision 4198293b2568c3fa287e7bde71162e9d442f4305)
1 #ifndef JEMALLOC_INTERNAL_EXTENT_DSS_H
2 #define JEMALLOC_INTERNAL_EXTENT_DSS_H
3 
4 typedef enum {
5 	dss_prec_disabled  = 0,
6 	dss_prec_primary   = 1,
7 	dss_prec_secondary = 2,
8 
9 	dss_prec_limit     = 3
10 } dss_prec_t;
11 #define DSS_PREC_DEFAULT dss_prec_secondary
12 #define DSS_DEFAULT "secondary"
13 
14 extern const char *dss_prec_names[];
15 
16 extern const char *opt_dss;
17 
18 dss_prec_t extent_dss_prec_get(void);
19 bool extent_dss_prec_set(dss_prec_t dss_prec);
20 void *extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr,
21     size_t size, size_t alignment, bool *zero, bool *commit);
22 bool extent_in_dss(void *addr);
23 bool extent_dss_mergeable(void *addr_a, void *addr_b);
24 void extent_dss_boot(void);
25 
26 #endif /* JEMALLOC_INTERNAL_EXTENT_DSS_H */
27