aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorZandra Hird <[email protected]>2015-04-27 14:10:39 +0200
committerZandra Hird <[email protected]>2015-04-27 14:21:33 +0200
commit2abf0bc684360a20dd068668eddd1398a9703bde (patch)
tree36271deec9fc3ebfa55586cb837c90249803dc7a /erts/emulator/beam/erl_process.c
parent6f0a08d85feac7103b573e20d6250ea880c6400f (diff)
parentfe150e807667cf3aa1ecdd865a1885bdc326b0f6 (diff)
downloadotp-2abf0bc684360a20dd068668eddd1398a9703bde.tar.gz
otp-2abf0bc684360a20dd068668eddd1398a9703bde.tar.bz2
otp-2abf0bc684360a20dd068668eddd1398a9703bde.zip
Merge branch 'vinoski/dirty-sched-wakeup'
OTP-12685
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 6518314e30..00c7b163c2 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -4956,9 +4956,11 @@ wakeup_other_check(ErtsRunQueue *rq, Uint32 flags)
+ ERTS_WAKEUP_OTHER_FIXED_INC);
if (rq->wakeup_other > wakeup_other.limit) {
#ifdef ERTS_DIRTY_SCHEDULERS
- if (ERTS_RUNQ_IX_IS_DIRTY(rq->ix) && rq->waiting)
- wake_dirty_schedulers(rq, 1);
- else
+ if (ERTS_RUNQ_IX_IS_DIRTY(rq->ix)) {
+ if (rq->waiting) {
+ wake_dirty_schedulers(rq, 1);
+ }
+ } else
#endif
{
int empty_rqs =