diff options
author | Erlang/OTP <[email protected]> | 2019-04-16 16:37:36 +0200 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2019-04-16 16:37:36 +0200 |
commit | 65391703e04624539d174cb810c2af7b23b001f6 (patch) | |
tree | 56d213504f06c618f85fb69dcf7c250ffcded285 /erts/emulator/beam/erl_db_hash.c | |
parent | a2cc71859fdb332c9d2edd0d1408a4c1d8bc5646 (diff) | |
parent | 8dec35910330a44de3fa08573e3029f10b3aa4ae (diff) | |
download | otp-65391703e04624539d174cb810c2af7b23b001f6.tar.gz otp-65391703e04624539d174cb810c2af7b23b001f6.tar.bz2 otp-65391703e04624539d174cb810c2af7b23b001f6.zip |
Merge branch 'sverker/ets-no-mbuf-trapping/OTP-15660' into maint-20
* sverker/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.c | 12 |
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 cf928a9035..47d304f860 100644 --- a/erts/emulator/beam/erl_db_hash.c +++ b/erts/emulator/beam/erl_db_hash.c @@ -1328,11 +1328,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 = on_trap(context_ptr, slot_ix, got, &mpi.mp, ret); goto done; @@ -1451,11 +1447,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 = on_trap(context_ptr, slot_ix, got, mpp, ret); goto done; |