aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2013-04-04 17:53:56 +0200
committerErlang/OTP <[email protected]>2013-04-04 17:53:56 +0200
commit858f7b67cd0ecb60f10054de8049d7e1a250bd25 (patch)
tree3bee0f16cbcfc3ddde16f330b97435e08f64fe84 /erts/emulator/beam/erl_process.h
parente92c2cdb870695412254a75b6400c8723b1b95f1 (diff)
parent1e282b7b0c092f8f4619383741262583ff99b64c (diff)
downloadotp-858f7b67cd0ecb60f10054de8049d7e1a250bd25.tar.gz
otp-858f7b67cd0ecb60f10054de8049d7e1a250bd25.tar.bz2
otp-858f7b67cd0ecb60f10054de8049d7e1a250bd25.zip
Merge branch 'rickard/thr_prgr_later_op/OTP-10994' into maint-r16
* rickard/thr_prgr_later_op/OTP-10994: Make port close not be delayed Be less eager requesting wakeup for cleanup jobs
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index 6d1032c292..3d3579fa7e 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -430,6 +430,7 @@ typedef struct {
ErtsSchedulerSleepInfo *ssi;
#ifdef ERTS_SMP
ErtsThrPrgrVal current_thr_prgr;
+ ErtsThrPrgrVal latest_wakeup;
#endif
struct {
int ix;
@@ -444,6 +445,8 @@ typedef struct {
void (*completed_arg)(void *);
} dd;
struct {
+ ErtsThrPrgrVal thr_prgr;
+ UWord size;
ErtsThrPrgrLaterOp *first;
ErtsThrPrgrLaterOp *last;
} later_op;
@@ -1298,10 +1301,15 @@ ERTS_GLB_INLINE int erts_proclist_is_last(ErtsProcList *list,
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_wake_cleanup_threshold(char *);
void erts_schedule_thr_prgr_later_op(void (*)(void *),
void *,
ErtsThrPrgrLaterOp *);
+void erts_schedule_thr_prgr_later_cleanup_op(void (*)(void *),
+ void *,
+ ErtsThrPrgrLaterOp *,
+ UWord);
#if defined(ERTS_SMP) && defined(ERTS_ENABLE_LOCK_CHECK)
int erts_dbg_check_halloc_lock(Process *p);