Making jemalloc max stack depth a runtime option

This commit is contained in:
Guangli Dai
2022-08-19 12:17:10 -07:00
committed by Qi Wang
parent 56ddbea270
commit a0734fd6ee
12 changed files with 171 additions and 11 deletions

View File

@@ -7,6 +7,7 @@
extern bool opt_prof;
extern bool opt_prof_active;
extern bool opt_prof_thread_active_init;
extern unsigned opt_prof_bt_max;
extern size_t opt_lg_prof_sample; /* Mean bytes between samples. */
extern ssize_t opt_lg_prof_interval; /* lg(prof_interval). */
extern bool opt_prof_gdump; /* High-water memory dumping. */

View File

@@ -202,7 +202,7 @@ struct prof_tdata_s {
prof_cnt_t cnt_summed;
/* Backtrace vector, used for calls to prof_backtrace(). */
void *vec[PROF_BT_MAX];
void **vec;
};
typedef rb_tree(prof_tdata_t) prof_tdata_tree_t;

View File

@@ -23,7 +23,12 @@ typedef struct prof_recent_s prof_recent_t;
* is based on __builtin_return_address() necessarily has a hard-coded number
* of backtrace frame handlers, and should be kept in sync with this setting.
*/
#define PROF_BT_MAX 128
#ifdef JEMALLOC_PROF_GCC
# define PROF_BT_MAX_LIMIT 256
#else
# define PROF_BT_MAX_LIMIT UINT_MAX
#endif
#define PROF_BT_MAX_DEFAULT 128
/* Initial hash table size. */
#define PROF_CKH_MINITEMS 64