aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-06-17 16:03:58 +0200
committerLukas Larsson <[email protected]>2016-07-14 16:00:40 +0200
commitcb5fca03189deb691b9bc2f1f8bd65033bd99320 (patch)
treeee25a0cd49a6c36ca3ee32c42a28964e4fd0c85f /erts/emulator/beam/erl_process.c
parentf7b0cbbab08f2d3f733dfe2e201ce0ff614daaf3 (diff)
downloadotp-cb5fca03189deb691b9bc2f1f8bd65033bd99320.tar.gz
otp-cb5fca03189deb691b9bc2f1f8bd65033bd99320.tar.bz2
otp-cb5fca03189deb691b9bc2f1f8bd65033bd99320.zip
erts: Fix msacc for dirty scheduler and heap_limit
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index f0f5b13f9d..b5d8c5bc75 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -8177,6 +8177,8 @@ sched_dirty_cpu_thread_func(void *vesdp)
esdp->thr_id += erts_no_schedulers;
+ erts_msacc_init_thread("dirty_cpu_scheduler", no, 0);
+
erts_thr_progress_register_unmanaged_thread(&callbacks);
#ifdef ERTS_ENABLE_LOCK_CHECK
{
@@ -8222,6 +8224,8 @@ sched_dirty_io_thread_func(void *vesdp)
esdp->thr_id += erts_no_schedulers + erts_no_dirty_cpu_schedulers;
+ erts_msacc_init_thread("dirty_io_scheduler", no, 0);
+
erts_thr_progress_register_unmanaged_thread(&callbacks);
#ifdef ERTS_ENABLE_LOCK_CHECK
{
@@ -9823,8 +9827,6 @@ Process *erts_schedule(ErtsSchedulerData *esdp, Process *p, int calls)
goto check_activities_to_run;
}
- ERTS_MSACC_SET_STATE_CACHED_M(ERTS_MSACC_STATE_EMULATOR);
-
/*
* Take the chosen process out of the queue.
*/
@@ -9930,6 +9932,8 @@ Process *erts_schedule(ErtsSchedulerData *esdp, Process *p, int calls)
}
+ ERTS_MSACC_SET_STATE_CACHED_M(ERTS_MSACC_STATE_EMULATOR);
+
#ifdef ERTS_SMP
if (flags & ERTS_RUNQ_FLG_PROTECTED)