diff options
author | Patrik Nyblom <[email protected]> | 2012-02-07 18:00:35 +0100 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2012-02-07 18:00:35 +0100 |
commit | 6004ec3e1785913ff0b74054cf614a35c180d54a (patch) | |
tree | 1865eab06f4254649f4d9f3e0fbd693c854df5c0 /erts/emulator/beam/erl_process.h | |
parent | 8d59a1fc518719c8c445d9d94b23c173c18b4438 (diff) | |
parent | 6992261d258f2fc0b25ddf99ebcbf66ae02f5df8 (diff) | |
download | otp-6004ec3e1785913ff0b74054cf614a35c180d54a.tar.gz otp-6004ec3e1785913ff0b74054cf614a35c180d54a.tar.bz2 otp-6004ec3e1785913ff0b74054cf614a35c180d54a.zip |
Merge branch 'dgud/sched-work-time/OTP-9858' into maint
* dgud/sched-work-time/OTP-9858:
emulator: Document and test scheduler_wall_time
Implement statistics(scheduler_wall_time)
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r-- | erts/emulator/beam/erl_process.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index a51b380bb0..173b7df69d 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -394,6 +394,16 @@ do { \ } while (0) typedef struct { + int enabled; + Uint64 start; + struct { + Uint64 total; + Uint64 start; + int currently; + } working; +} ErtsSchedWallTime; + +typedef struct { int sched_id; ErtsSchedulerData *esdp; ErtsSchedulerSleepInfo *ssi; @@ -457,6 +467,8 @@ struct ErtsSchedulerData_ { ErtsSchedAllocData alloc_data; + ErtsSchedWallTime sched_wall_time; + #ifdef ERTS_DO_VERIFY_UNUSED_TEMP_ALLOC erts_alloc_verify_func_t verify_unused_temp_alloc; Allctr_t *verify_unused_temp_alloc_data; @@ -1064,6 +1076,8 @@ void erts_late_init_process(void); void erts_early_init_scheduling(int); void erts_init_scheduling(int, int); +Eterm erts_sched_wall_time_request(Process *c_p, int set, int enable); + ErtsProcList *erts_proclist_create(Process *); void erts_proclist_destroy(ErtsProcList *); int erts_proclist_same(ErtsProcList *, Process *); |