aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-06-08 14:56:31 +0200
committerRickard Green <[email protected]>2016-06-08 15:20:04 +0200
commit049611f98d67f11f8e06fe0b0fc50eb8ca1925d8 (patch)
tree67fc52ee36959bfb3d2af4e7f5eba9dad92e13ae /erts/emulator/beam
parenta39395d4f99aff99ac57ab40a3191fa13a7371fd (diff)
downloadotp-049611f98d67f11f8e06fe0b0fc50eb8ca1925d8.tar.gz
otp-049611f98d67f11f8e06fe0b0fc50eb8ca1925d8.tar.bz2
otp-049611f98d67f11f8e06fe0b0fc50eb8ca1925d8.zip
No GC on dirty IO schedulers
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/erl_process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index c0b1d7246c..5193be85b4 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -10082,7 +10082,7 @@ Process *erts_schedule(ErtsSchedulerData *esdp, Process *p, int calls)
}
}
- if (ERTS_IS_GC_DESIRED(p)) {
+ if (ERTS_IS_GC_DESIRED(p) && !ERTS_SCHEDULER_IS_DIRTY_IO(esdp)) {
if (!(state & ERTS_PSFLG_EXITING) && !(p->flags & (F_DELAY_GC|F_DISABLE_GC))) {
int cost = scheduler_gc_proc(p, reds);
calls += cost;