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