aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2015-05-19 22:48:21 +0200
committerRickard Green <[email protected]>2015-06-15 16:25:46 +0200
commitbfd575ddf985408494d4d3d4933eda2c9ee18326 (patch)
tree317497adbade085be2ef0f366c097eb26ec3813b /erts/emulator/beam/erl_db.h
parente6fce01ceb4e9ad27aade58f69857a5d9eb0d734 (diff)
downloadotp-bfd575ddf985408494d4d3d4933eda2c9ee18326.tar.gz
otp-bfd575ddf985408494d4d3d4933eda2c9ee18326.tar.bz2
otp-bfd575ddf985408494d4d3d4933eda2c9ee18326.zip
ETS busy wait option
Conflicts: erts/emulator/beam/erl_init.c erts/etc/common/erlexec.c
Diffstat (limited to 'erts/emulator/beam/erl_db.h')
-rw-r--r--erts/emulator/beam/erl_db.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_db.h b/erts/emulator/beam/erl_db.h
index 5b4681fc90..5039b71108 100644
--- a/erts/emulator/beam/erl_db.h
+++ b/erts/emulator/beam/erl_db.h
@@ -61,7 +61,17 @@ union db_table {
"ERL_MAX_ETS_TABLES" */
#define ERL_MAX_ETS_TABLES_ENV "ERL_MAX_ETS_TABLES"
-void init_db(void);
+typedef enum {
+ ERTS_DB_SPNCNT_NONE,
+ ERTS_DB_SPNCNT_VERY_LOW,
+ ERTS_DB_SPNCNT_LOW,
+ ERTS_DB_SPNCNT_NORMAL,
+ ERTS_DB_SPNCNT_HIGH,
+ ERTS_DB_SPNCNT_VERY_HIGH,
+ ERTS_DB_SPNCNT_EXTREMELY_HIGH
+} ErtsDbSpinCount;
+
+void init_db(ErtsDbSpinCount);
int erts_db_process_exiting(Process *, ErtsProcLocks);
void db_info(int, void *, int);
void erts_db_foreach_table(void (*)(DbTable *, void *), void *);
@@ -69,6 +79,7 @@ void erts_db_foreach_offheap(DbTable *,
void (*func)(ErlOffHeap *, void *),
void *);
+extern int erts_ets_rwmtx_spin_count;
extern int user_requested_db_max_tabs; /* set in erl_init */
extern int erts_ets_realloc_always_moves; /* set in erl_init */
extern int erts_ets_always_compress; /* set in erl_init */