diff options
author | Rickard Green <[email protected]> | 2011-11-09 17:21:20 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2011-11-15 10:33:08 +0100 |
commit | ac7dcc23af68ef5a01ce5ca03ad485595bf5e18b (patch) | |
tree | 1f047312e72b3ba05b30b621cb9595091d3a7ad9 /erts/emulator/beam/erl_process.c | |
parent | d328f453e7cd6e24856b0c80e0b8c4ed6def5461 (diff) | |
download | otp-ac7dcc23af68ef5a01ce5ca03ad485595bf5e18b.tar.gz otp-ac7dcc23af68ef5a01ce5ca03ad485595bf5e18b.tar.bz2 otp-ac7dcc23af68ef5a01ce5ca03ad485595bf5e18b.zip |
Add switch that can disable scheduler compaction of load
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r-- | erts/emulator/beam/erl_process.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 2704359a8f..dba57e04ca 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -111,6 +111,7 @@ static Sint p_serial; static Uint p_serial_mask; static Uint p_serial_shift; +int erts_sched_compact_load; Uint erts_no_schedulers; Uint erts_max_processes = ERTS_DEFAULT_MAX_PROCESSES; Uint erts_process_tab_index_mask; @@ -2215,6 +2216,9 @@ check_balance(ErtsRunQueue *c_rq) mmax_len = run_queue_info[qix].max_len; } + if (!erts_sched_compact_load) + goto all_active; + if (!forced && half_full_scheds != blnc_no_rqs) { int min = 1; if (min < half_full_scheds) |