diff options
author | Rickard Green <[email protected]> | 2017-01-04 18:10:26 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-01-17 12:23:19 +0100 |
commit | f9459092940943876dff040ee997515b96fd5d50 (patch) | |
tree | 075fc1e01f6cc1cd1e398b9f52a0ee0f617065e4 /erts/emulator/beam/erl_process.h | |
parent | fd1fb9070333fe5b91f4528841a4b0fe71bbf096 (diff) | |
download | otp-f9459092940943876dff040ee997515b96fd5d50.tar.gz otp-f9459092940943876dff040ee997515b96fd5d50.tar.bz2 otp-f9459092940943876dff040ee997515b96fd5d50.zip |
Scheduler wall time support for dirty schedulers
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r-- | erts/emulator/beam/erl_process.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index fc2055332b..ce0989883c 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -550,13 +550,15 @@ do { \ } while (0) typedef struct { - int need; /* "+sbu true" or scheduler_wall_time enabled */ + union { + erts_atomic32_t mod; /* on dirty schedulers */ + int need; /* "+sbu true" or scheduler_wall_time enabled */ + } u; int enabled; Uint64 start; struct { Uint64 total; Uint64 start; - int currently; } working; } ErtsSchedWallTime; @@ -1598,7 +1600,8 @@ void erts_init_scheduling(int, int void erts_execute_dirty_system_task(Process *c_p); #endif int erts_set_gc_state(Process *c_p, int enable); -Eterm erts_sched_wall_time_request(Process *c_p, int set, int enable); +Eterm erts_sched_wall_time_request(Process *c_p, int set, int enable, + int dirty_cpu, int want_dirty_io); Eterm erts_system_check_request(Process *c_p); Eterm erts_gc_info_request(Process *c_p); Uint64 erts_get_proc_interval(void); |