diff options
author | Rickard Green <[email protected]> | 2015-05-12 17:33:03 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2015-05-12 17:33:03 +0200 |
commit | 4030cfbb8de3445e80b3dcb3a1a45d0c6bac6483 (patch) | |
tree | 0d1208936003936433ba3793ee5b677dbc9d1697 /erts/emulator/test/system_info_SUITE.erl | |
parent | ff2400d7b5b1b090e128bc537d7bdd94c6aad97e (diff) | |
parent | 849a2ed2db2bd54422ec9284468f80cc86978974 (diff) | |
download | otp-4030cfbb8de3445e80b3dcb3a1a45d0c6bac6483.tar.gz otp-4030cfbb8de3445e80b3dcb3a1a45d0c6bac6483.tar.bz2 otp-4030cfbb8de3445e80b3dcb3a1a45d0c6bac6483.zip |
Merge branch 'rickard/timer-optimization/OTP-12650'
* rickard/timer-optimization/OTP-12650:
Timer fixes, documentation, and test cases
Conflicts:
erts/emulator/beam/erl_hl_timer.c
Diffstat (limited to 'erts/emulator/test/system_info_SUITE.erl')
-rw-r--r-- | erts/emulator/test/system_info_SUITE.erl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/erts/emulator/test/system_info_SUITE.erl b/erts/emulator/test/system_info_SUITE.erl index 0fd6696536..e3ac2d5d83 100644 --- a/erts/emulator/test/system_info_SUITE.erl +++ b/erts/emulator/test/system_info_SUITE.erl @@ -264,6 +264,37 @@ memory_test(_Config) -> []), cmp_memory(MWs, "unlink procs"), + mem_workers_call(MWs, + fun () -> + lists:foreach( + fun (P) -> + Tmr = erlang:start_timer(1 bsl 34, + P, + hello), + Tmrs = case get('BIF_TMRS') of + undefined -> []; + Rs -> Rs + end, + true = is_reference(Tmr), + put('BIF_TMRS', [Tmr|Tmrs]) + end, Ps) + end, + []), + cmp_memory(MWs, "start BIF timer procs"), + + mem_workers_call(MWs, + fun () -> + lists:foreach(fun (Tmr) -> + true = is_reference(Tmr), + true = is_integer(erlang:cancel_timer(Tmr)) + end, get('BIF_TMRS')), + put('BIF_TMRS', undefined), + garbage_collect() + end, + []), + erts_debug:set_internal_state(wait, deallocations), + cmp_memory(MWs, "cancel BIF timer procs"), + DMs = mem_workers_call(MWs, fun () -> lists:map(fun (P) -> |