aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2013-05-31 11:06:56 +0200
committerLukas Larsson <[email protected]>2013-05-31 11:11:16 +0200
commitdf4fe8fac6425a85c5366e540b588b6e084ca798 (patch)
tree0268066840508ced6b79caba4eaf5c23ce15a0e0 /erts/emulator/beam/erl_process.h
parent9427db3cd66f840ade9649513d914271b0981bf4 (diff)
parentfb4440038ea305929d7f46c0ea651994b412483f (diff)
downloadotp-df4fe8fac6425a85c5366e540b588b6e084ca798.tar.gz
otp-df4fe8fac6425a85c5366e540b588b6e084ca798.tar.bz2
otp-df4fe8fac6425a85c5366e540b588b6e084ca798.zip
Merge branch 'lukas/erts/gc_stat_contention/OTP-10271' into maint
* lukas/erts/gc_stat_contention/OTP-10271: Replace gc stat lock with sched spec data
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index 6ef1a0073d..7dd8116857 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -420,6 +420,11 @@ typedef struct {
} ErtsSchedWallTime;
typedef struct {
+ Uint64 reclaimed;
+ Uint64 garbage_cols;
+} ErtsGCInfo;
+
+typedef struct {
int sched;
erts_aint32_t aux_work;
} ErtsDelayedAuxWorkWakeupJob;
@@ -507,6 +512,7 @@ struct ErtsSchedulerData_ {
Uint64 reductions;
ErtsSchedWallTime sched_wall_time;
+ ErtsGCInfo gc_info;
ErtsPortTaskHandle nosuspend_port_task_handle;
#ifdef ERTS_DO_VERIFY_UNUSED_TEMP_ALLOC
@@ -1126,6 +1132,7 @@ 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);
+Eterm erts_gc_info_request(Process *c_p);
Uint64 erts_get_proc_interval(void);
Uint64 erts_ensure_later_proc_interval(Uint64);
Uint64 erts_step_proc_interval(void);