aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db_hash.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2019-03-08 11:46:12 +0100
committerSverker Eriksson <[email protected]>2019-03-08 11:46:12 +0100
commit7def10d22332fa0e0dd009ff4405b92a184ea3a5 (patch)
treee437ecb61d792a0eb06adbcd7a55cfaf1f0b3e4f /erts/emulator/beam/erl_db_hash.c
parent92962f3bb0d3bd8e0aab40fa142fc8083977caef (diff)
parent8e323b5c6cbc2ffc8f8f8883daaaf419144c35f1 (diff)
downloadotp-7def10d22332fa0e0dd009ff4405b92a184ea3a5.tar.gz
otp-7def10d22332fa0e0dd009ff4405b92a184ea3a5.tar.bz2
otp-7def10d22332fa0e0dd009ff4405b92a184ea3a5.zip
Merge branch 'sverker/maint/ets-no-mbuf-trapping/OTP-15660' into maint
* sverker/maint/ets-no-mbuf-trapping/OTP-15660: erts: Remove ets traversal yielding if heap fragment
Diffstat (limited to 'erts/emulator/beam/erl_db_hash.c')
-rw-r--r--erts/emulator/beam/erl_db_hash.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/erts/emulator/beam/erl_db_hash.c b/erts/emulator/beam/erl_db_hash.c
index 752d3ae3a8..42d7909a08 100644
--- a/erts/emulator/beam/erl_db_hash.c
+++ b/erts/emulator/beam/erl_db_hash.c
@@ -1323,11 +1323,7 @@ static int match_traverse(Process* p, DbTableHash* tb,
unlock_hash_function(lck);
break;
}
- if (iterations_left <= 0 || MBUF(p)) {
- /*
- * We have either reached our limit, or just created some heap fragments.
- * Since many heap fragments will make the GC slower, trap and GC now.
- */
+ if (iterations_left <= 0) {
unlock_hash_function(lck);
ret_value = ctx->on_trap(ctx, slot_ix, got, &mpi.mp, ret);
goto done;
@@ -1433,11 +1429,7 @@ static int match_traverse_continue(Process* p, DbTableHash* tb,
unlock_hash_function(lck);
break;
}
- if (iterations_left <= 0 || MBUF(p)) {
- /*
- * We have either reached our limit, or just created some heap fragments.
- * Since many heap fragments will make the GC slower, trap and GC now.
- */
+ if (iterations_left <= 0) {
unlock_hash_function(lck);
ret_value = ctx->on_trap(ctx, slot_ix, got, mpp, ret);
goto done;