Roy,

Thanks for pointing out the right side of the statement. I made the changes and they will be available in the next snapshot.

Thanks,
Brian

Roy Dragseth wrote:
On Monday 16 March 2009 23:07:14 Brian Christiansen wrote:
Roy,

Looking in MPBSI.c, it appears that nodememovercommitfactor is already
implemented to work with swap, except that in in _MPBSIGetSSSStatus the
setting of N->CRes.Swap is after the overcommitting work is done. How
does the following patch work for you?

Thanks,
Brian

--- src/moab/MPBSI.c
+++ src/moab/MPBSI.c
@@ -6263,6 +6263,11 @@
       }  /* END else if (!strcmp(Name,"message")) */
     }    /* END while (ptr != NULL) */

+  /* NOTE:  PBS totmem = swap + RAM */
+
+  if (TotMem > 0)
+    N->CRes.Swap = TotMem;
+
   if (MSched.NodeMemOverCommitFactor > 0.0)
     {
     /* NOTE:  both real memory and swap overcommitted */
@@ -6276,11 +6281,6 @@
     /* memory factor not applied to node load */
     }

-  /* NOTE:  PBS totmem = swap + RAM */
-
-  if (TotMem > 0)
-    N->CRes.Swap = TotMem;
-
   return(SUCCESS);
   }  /* END __MPBSIGetSSSStatus() */


This should work equally well, but then we need to change a few more lines in the if-clause from

    N->CRes.Swap = (int)(N->CRes.Mem * MSched.NodeMemOverCommitFactor);
    N->ARes.Swap = (int)(N->ARes.Mem * MSched.NodeMemOverCommitFactor);

to

    N->CRes.Swap = (int)(N->CRes.Swap * MSched.NodeMemOverCommitFactor);
    N->ARes.Swap = (int)(N->ARes.Swap * MSched.NodeMemOverCommitFactor);

(the current code doesn't look correct anyway)

I ran a quick test with your changes and mine and it seems to be functionally equivalent with my old proposal.

r.

_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers

Reply via email to