+RTS -qw hasn't done anything since 7.0.1; remove the implementation & docs
authorSimon Marlow <marlowsd@gmail.com>
Tue, 1 Feb 2011 16:37:27 +0000 (16:37 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 1 Feb 2011 16:37:27 +0000 (16:37 +0000)
It is still (silently) accepted for backwards compatibility.

docs/users_guide/using.xml
includes/rts/Flags.h
rts/RtsFlags.c

index ed08f58..34f769a 100644 (file)
@@ -2112,25 +2112,6 @@ f "2"    = 2
             </para>
           </listitem>
         </varlistentry>
-       <varlistentry>
-         <term><option>-qw</option></term>
-          <indexterm><primary><option>-qw</option></primary><secondary>RTS
-          option</secondary></indexterm>
-         <listitem>
-            <para>Migrate a thread to the current CPU when it is woken
-            up.  Normally when a thread is woken up after being
-            blocked it will be scheduled on the CPU it was running on
-            last; this option allows the thread to immediately migrate
-            to the CPU that unblocked it.</para> 
-            <para>The rationale for allowing this eager migration is
-            that it tends to move threads that are communicating with
-            each other onto the same CPU; however there are
-            pathalogical situations where it turns out to be a poor
-            strategy.  Depending on the communication pattern in your
-            program, it may or may not be a good idea.</para>
-          </listitem>
-        </varlistentry>
        </variablelist>
     </sect2>
       
index 75525d8..95ccfc0 100644 (file)
@@ -148,8 +148,7 @@ struct MISC_FLAGS {
 struct PAR_FLAGS {
   nat            nNodes;         /* number of threads to run simultaneously */
   rtsBool        migrate;        /* migrate threads between capabilities */
-  rtsBool        wakeupMigrate;  /* migrate a thread on wakeup */
-  unsigned int  maxLocalSparks;
+  unsigned int   maxLocalSparks;
   rtsBool        parGcEnabled;   /* enable parallel GC */
   unsigned int   parGcGen;       /* do parallel GC in this generation
                                   * and higher only */
index 067986f..9b33341 100644 (file)
@@ -156,7 +156,6 @@ void initRtsFlagsDefaults(void)
 #ifdef THREADED_RTS
     RtsFlags.ParFlags.nNodes           = 1;
     RtsFlags.ParFlags.migrate           = rtsTrue;
-    RtsFlags.ParFlags.wakeupMigrate     = rtsFalse;
     RtsFlags.ParFlags.parGcEnabled      = 1;
     RtsFlags.ParFlags.parGcGen          = 0;
     RtsFlags.ParFlags.parGcLoadBalancingEnabled = rtsTrue;
@@ -323,7 +322,6 @@ usage_text[] = {
 "            (default: 1, -qb alone turns off load-balancing)",
 "  -qa       Use the OS to set thread affinity (experimental)",
 "  -qm       Don't automatically migrate threads between CPUs",
-"  -qw       Migrate a thread to the current CPU when it is woken up",
 #endif
 "  --install-signal-handlers=<yes|no>",
 "            Install signal handlers (default: yes)",
@@ -1067,10 +1065,10 @@ error = rtsTrue;
                    case 'm':
                        RtsFlags.ParFlags.migrate = rtsFalse;
                        break;
-                   case 'w':
-                       RtsFlags.ParFlags.wakeupMigrate = rtsTrue;
-                       break;
-                   default:
+                    case 'w':
+                        // -qw was removed; accepted for backwards compat
+                        break;
+                    default:
                        errorBelch("unknown RTS option: %s",rts_argv[arg]);
                        error = rtsTrue;
                        break;