aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2012-01-31 13:54:36 +0100
committerErlang/OTP <[email protected]>2012-01-31 13:54:36 +0100
commit7e547ba8221e8e63e5afb62e802318b810f8fafb (patch)
tree9173322f952723d6dba36b98ee991640dfb6f291 /erts/emulator/beam/erl_process.c
parentb55c3d29a3d9efce2ce6548963809fc3b7ab8729 (diff)
parentac7dcc23af68ef5a01ce5ca03ad485595bf5e18b (diff)
downloadotp-7e547ba8221e8e63e5afb62e802318b810f8fafb.tar.gz
otp-7e547ba8221e8e63e5afb62e802318b810f8fafb.tar.bz2
otp-7e547ba8221e8e63e5afb62e802318b810f8fafb.zip
Merge branch 'rickard/sched-compact-load/OTP-9695' into maint-r14
* rickard/sched-compact-load/OTP-9695: 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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index ba3b32dd97..93f3fb2845 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;
@@ -2208,6 +2209,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)