From 7d122060a255f233362f5250e8c8bc3d0bda5fbc Mon Sep 17 00:00:00 2001
From: Rickard Green <rickard@erlang.org>
Date: Wed, 2 Jan 2013 20:25:03 +0100
Subject: Change proposed scheduler wakeup strategy to be the default

---
 erts/emulator/beam/erl_init.c    |  2 +-
 erts/emulator/beam/erl_process.c | 16 +++++++---------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c
index 8cdf954dd2..89022165db 100644
--- a/erts/emulator/beam/erl_init.c
+++ b/erts/emulator/beam/erl_init.c
@@ -529,7 +529,7 @@ void erts_usage(void)
     erts_fprintf(stderr, "-sct cput   set cpu topology,\n");
     erts_fprintf(stderr, "            see the erl(1) documentation for more info.\n");
     erts_fprintf(stderr, "-sws val    set scheduler wakeup strategy, valid values are:\n");
-    erts_fprintf(stderr, "            default|legacy|proposal.\n");
+    erts_fprintf(stderr, "            default|legacy.\n");
     erts_fprintf(stderr, "-swt val    set scheduler wakeup threshold, valid values are:\n");
     erts_fprintf(stderr, "            very_low|low|medium|high|very_high.\n");
     erts_fprintf(stderr, "-sss size   suggested stack size in kilo words for scheduler threads,\n");
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index aaca4b5f59..6e9bf7ca12 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -4080,11 +4080,11 @@ typedef enum {
 } ErtsSchedWakeupOtherThreshold;
 
 typedef enum {
-    ERTS_SCHED_WAKEUP_OTHER_TYPE_PROPOSAL,
+    ERTS_SCHED_WAKEUP_OTHER_TYPE_DEFAULT,
     ERTS_SCHED_WAKEUP_OTHER_TYPE_LEGACY
 } ErtsSchedWakeupOtherType;
 
-/* First proposal */
+/* Default */
 
 #define ERTS_WAKEUP_OTHER_LIMIT_VERY_HIGH (200*CONTEXT_REDS)
 #define ERTS_WAKEUP_OTHER_LIMIT_HIGH (50*CONTEXT_REDS)
@@ -4101,7 +4101,7 @@ typedef enum {
 #define ERTS_WAKEUP_OTHER_DEC_SHIFT 2
 #define ERTS_WAKEUP_OTHER_FIXED_INC (CONTEXT_REDS/10)
 
-/* To be legacy */
+/* Legacy */
 
 #define ERTS_WAKEUP_OTHER_LIMIT_VERY_HIGH_LEGACY (200*CONTEXT_REDS)
 #define ERTS_WAKEUP_OTHER_LIMIT_HIGH_LEGACY (50*CONTEXT_REDS)
@@ -4239,7 +4239,7 @@ static void
 set_wakeup_other_data(void)
 {
     switch (wakeup_other.type) {
-    case ERTS_SCHED_WAKEUP_OTHER_TYPE_PROPOSAL:
+    case ERTS_SCHED_WAKEUP_OTHER_TYPE_DEFAULT:
 	wakeup_other.check = wakeup_other_check;
 	wakeup_other_set_limit();
 	break;
@@ -4258,7 +4258,7 @@ erts_early_init_scheduling(int no_schedulers)
     aux_work_timeout_early_init(no_schedulers);
 #ifdef ERTS_SMP
     wakeup_other.threshold = ERTS_SCHED_WAKEUP_OTHER_THRESHOLD_MEDIUM;
-    wakeup_other.type = ERTS_SCHED_WAKEUP_OTHER_TYPE_LEGACY;
+    wakeup_other.type = ERTS_SCHED_WAKEUP_OTHER_TYPE_DEFAULT;
 #endif
     sched_busy_wait.sys_schedule = ERTS_SCHED_SYS_SLEEP_SPINCOUNT_MEDIUM;
     sched_busy_wait.tse = (ERTS_SCHED_SYS_SLEEP_SPINCOUNT_MEDIUM
@@ -4294,10 +4294,8 @@ int
 erts_sched_set_wakeup_other_type(char *str)
 {
     ErtsSchedWakeupOtherType type;
-    if (sys_strcmp(str, "proposal") == 0)
-	type = ERTS_SCHED_WAKEUP_OTHER_TYPE_PROPOSAL;
-    else if (sys_strcmp(str, "default") == 0)
-	type = ERTS_SCHED_WAKEUP_OTHER_TYPE_LEGACY;
+    if (sys_strcmp(str, "default") == 0)
+	type = ERTS_SCHED_WAKEUP_OTHER_TYPE_DEFAULT;
     else if (sys_strcmp(str, "legacy") == 0)
 	type = ERTS_SCHED_WAKEUP_OTHER_TYPE_LEGACY;
     else
-- 
cgit v1.2.3