diff options
author | John Högberg <[email protected]> | 2018-03-23 13:15:08 +0100 |
---|---|---|
committer | John Högberg <[email protected]> | 2018-03-26 09:57:34 +0200 |
commit | f278cee87dd7ef929a64b411b4e83c3d7028687a (patch) | |
tree | ffcd33cb7cbc01f15e1dedf76a682db393cc1425 /erts/emulator/beam/erl_process.h | |
parent | 837cf1979852b439dd8fed555ad8c6cb10d9a794 (diff) | |
download | otp-f278cee87dd7ef929a64b411b4e83c3d7028687a.tar.gz otp-f278cee87dd7ef929a64b411b4e83c3d7028687a.tar.bz2 otp-f278cee87dd7ef929a64b411b4e83c3d7028687a.zip |
Add +sbwt/+swt analogues for dirty schedulers
Sharing these settings for all schedulers can degrade performance,
so it makes sense to be able to configure them separately.
This also changes the default busy-wait time to "short" for both
kinds of dirty schedulers.
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r-- | erts/emulator/beam/erl_process.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index 0550fb05b5..cec93cbb9b 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -400,9 +400,12 @@ typedef struct { } ErtsRunPrioQueue; typedef enum { - ERTS_SCHED_NORMAL, - ERTS_SCHED_DIRTY_CPU, - ERTS_SCHED_DIRTY_IO + ERTS_SCHED_NORMAL = 0, + ERTS_SCHED_DIRTY_CPU = 1, + ERTS_SCHED_DIRTY_IO = 2, + + ERTS_SCHED_TYPE_FIRST = ERTS_SCHED_NORMAL, + ERTS_SCHED_TYPE_LAST = ERTS_SCHED_DIRTY_IO } ErtsSchedType; typedef struct ErtsSchedulerData_ ErtsSchedulerData; @@ -1712,9 +1715,9 @@ ERTS_GLB_INLINE int erts_proclist_is_last(ErtsProcList *list, #endif -int erts_sched_set_wakeup_other_thresold(char *str); -int erts_sched_set_wakeup_other_type(char *str); -int erts_sched_set_busy_wait_threshold(char *str); +int erts_sched_set_wakeup_other_threshold(ErtsSchedType sched_type, char *str); +int erts_sched_set_wakeup_other_type(ErtsSchedType sched_type, char *str); +int erts_sched_set_busy_wait_threshold(ErtsSchedType sched_type, char *str); int erts_sched_set_wake_cleanup_threshold(char *); void erts_schedule_thr_prgr_later_op(void (*)(void *), |