diff options
author | Rickard Green <[email protected]> | 2013-05-30 14:56:31 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2013-05-30 14:56:31 +0200 |
commit | e794251f8e54d6697e1bcc360471fd76b20c7748 (patch) | |
tree | 0a776b2b9c22622e09b7381eea15e106d5da7e90 /erts/emulator/test | |
parent | 22685099ace9802016bf6203c525702084717d72 (diff) | |
parent | 5c039a1fb4979314912dc3af6626d8d7a1c73993 (diff) | |
download | otp-e794251f8e54d6697e1bcc360471fd76b20c7748.tar.gz otp-e794251f8e54d6697e1bcc360471fd76b20c7748.tar.bz2 otp-e794251f8e54d6697e1bcc360471fd76b20c7748.zip |
Merge branch 'rickard/ptab-id-alloc/OTP-11077' into maint
* rickard/ptab-id-alloc/OTP-11077:
Introduce a better id allocation algorithm for PTabs
Diffstat (limited to 'erts/emulator/test')
-rw-r--r-- | erts/emulator/test/process_SUITE.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/erts/emulator/test/process_SUITE.erl b/erts/emulator/test/process_SUITE.erl index 863cd2d654..72f3e8fe85 100644 --- a/erts/emulator/test/process_SUITE.erl +++ b/erts/emulator/test/process_SUITE.erl @@ -1494,6 +1494,7 @@ processes_bif_cleaner() -> spawn_initial_hangarounds(Cleaner) -> TabSz = erlang:system_info(process_limit), + erts_debug:set_internal_state(next_pid,TabSz), spawn_initial_hangarounds(Cleaner, TabSz, TabSz*2, @@ -1538,14 +1539,21 @@ hangaround(Cleaner, Type) -> spawn_initial_hangarounds(_Cleaner, NP, Max, Len, HAs) when NP > Max -> {Len, HAs}; spawn_initial_hangarounds(Cleaner, NP, Max, Len, HAs) -> - erts_debug:set_internal_state(next_pid,NP), + Skip = 30, HA1 = spawn_opt(?MODULE, hangaround, [Cleaner, initial_hangaround], [{priority, low}]), HA2 = spawn_opt(?MODULE, hangaround, [Cleaner, initial_hangaround], [{priority, normal}]), HA3 = spawn_opt(?MODULE, hangaround, [Cleaner, initial_hangaround], [{priority, high}]), - spawn_initial_hangarounds(Cleaner, NP+30, Max, Len+3, [HA1,HA2,HA3|HAs]). + spawn_drop(Skip), + spawn_initial_hangarounds(Cleaner, NP+Skip, Max, Len+3, [HA1,HA2,HA3|HAs]). + +spawn_drop(N) when N =< 0 -> + ok; +spawn_drop(N) -> + spawn(fun () -> ok end), + spawn_drop(N-1). do_processes(WantReds) -> erts_debug:set_internal_state(reds_left, WantReds), |