aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-03-11 11:36:53 +0100
committerRickard Green <[email protected]>2016-03-11 11:36:53 +0100
commite12c4583c7479a49ae71086e42f62addd209dfe1 (patch)
tree1dc342cdd1c8d20f1491bd9f45ee6f3e143a001c
parente6ca9a6b1352420d3cdc08970b049b02d4303a16 (diff)
parent9f60b6ea108b625affe5aef745443c8422c8d64f (diff)
downloadotp-e12c4583c7479a49ae71086e42f62addd209dfe1.tar.gz
otp-e12c4583c7479a49ae71086e42f62addd209dfe1.tar.bz2
otp-e12c4583c7479a49ae71086e42f62addd209dfe1.zip
Merge branch 'vinoski/ds-avoid-lock'
* vinoski/ds-avoid-lock: Skip run queue lock check for dirty schedulers
-rw-r--r--erts/emulator/beam/erl_process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 41e471a96a..a706ebf595 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -3435,7 +3435,8 @@ wake_scheduler(ErtsRunQueue *rq)
* so all code *should* handle this without having
* the lock on the run queue.
*/
- ERTS_SMP_LC_ASSERT(!erts_smp_lc_runq_is_locked(rq));
+ ERTS_SMP_LC_ASSERT(!erts_smp_lc_runq_is_locked(rq)
+ || ERTS_RUNQ_IX_IS_DIRTY(rq->ix));
ssi = rq->scheduler->ssi;