[gridengine] Add patches from opengridscheduler to fix vmem reporting and slotwise preemption

Orion Poplawski orion at fedoraproject.org
Fri May 6 20:48:43 UTC 2011


commit 83094be2a7bf30c4def7aef5cd171843018bf4c2
Author: Orion Poplawski <orion at cora.nwra.com>
Date:   Fri May 6 14:48:29 2011 -0600

    Add patches from opengridscheduler to fix vmem reporting and
    slotwise preemption

 gridengine-6.2u5-slotwise.patch |   14 +++++++++++
 gridengine-6.2u5-vmem.patch     |   46 +++++++++++++++++++++++++++++++++++++++
 gridengine.spec                 |   13 ++++++++++-
 3 files changed, 72 insertions(+), 1 deletions(-)
---
diff --git a/gridengine-6.2u5-slotwise.patch b/gridengine-6.2u5-slotwise.patch
new file mode 100644
index 0000000..41b81e6
--- /dev/null
+++ b/gridengine-6.2u5-slotwise.patch
@@ -0,0 +1,14 @@
+Index: source/daemons/qmaster/sge_subordinate_qmaster.c
+===================================================================
+--- source/daemons/qmaster/sge_subordinate_qmaster.c	(revision 4)
++++ source/daemons/qmaster/sge_subordinate_qmaster.c	(revision 5)
+@@ -915,7 +915,8 @@
+                    ISSET(state, JSUSPENDED_ON_THRESHOLD) == false &&
+                    ISSET(state, JSUSPENDED_ON_SUBORDINATE) == false &&
+                    ISSET(state, JSUSPENDED_ON_SLOTWISE_SUBORDINATE) == false &&
+-                   ISSET(state, JEXITING) == false &&
++                   ISSET(lGetUlong(task, JAT_status), JEXITING) == false &&
++                   ISSET(lGetUlong(task, JAT_status), JFINISHED) == false &&
+                    ISSET(state, JDELETED) == false) {
+                   /* The current task is in state JRUNNING and not suspended in
+                    * any way. 
diff --git a/gridengine-6.2u5-vmem.patch b/gridengine-6.2u5-vmem.patch
new file mode 100644
index 0000000..55ddbb7
--- /dev/null
+++ b/gridengine-6.2u5-vmem.patch
@@ -0,0 +1,46 @@
+Index: source/daemons/common/procfs.c
+===================================================================
+--- source/daemons/common/procfs.c	(revision 3)
++++ source/daemons/common/procfs.c	(revision 4)
+@@ -561,7 +561,12 @@
+          
+          lSetPosUlong(pr, pos_utime, utime);
+          lSetPosUlong(pr, pos_stime, stime);
++
++#ifdef TARGET_64BIT
++         lSetPosLong(pr, pos_vsize, vsize);
++#else
+          lSetPosUlong(pr, pos_vsize, vsize);
++#endif
+          
+          close(fd);
+       }
+@@ -775,7 +780,12 @@
+    proc_elem->proc.pd_utime  = ((double)lGetPosUlong(pr, pos_utime))/HZ;
+    proc_elem->proc.pd_stime  = ((double)lGetPosUlong(pr, pos_stime))/HZ;
+    /* could retrieve uid/gid using stat() on stat file */
++
++  #ifdef TARGET_64BIT
++   proc_elem->vmem           = lGetPosLong(pr, pos_vsize);
++  #else
+    proc_elem->vmem           = lGetPosUlong(pr, pos_vsize);
++  #endif
+ 
+    /*
+     * I/O accounting
+Index: source/libs/sgeobj/sge_procL.h
+===================================================================
+--- source/libs/sgeobj/sge_procL.h	(revision 3)
++++ source/libs/sgeobj/sge_procL.h	(revision 4)
+@@ -75,7 +75,11 @@
+    SGE_ULONG     ( PRO_pid, CULL_PRIMARY_KEY | CULL_HASH | CULL_UNIQUE )
+    SGE_ULONG     ( PRO_utime, CULL_DEFAULT )
+    SGE_ULONG     ( PRO_stime, CULL_DEFAULT )
++#ifdef TARGET_64BIT
++   SGE_LONG     ( PRO_vsize, CULL_DEFAULT )
++#else
+    SGE_ULONG     ( PRO_vsize, CULL_DEFAULT )
++#endif
+    SGE_LIST      ( PRO_groups, GR_Type, CULL_DEFAULT )
+    SGE_BOOL      ( PRO_rel, CULL_DEFAULT )
+    SGE_BOOL      ( PRO_run, CULL_DEFAULT )
diff --git a/gridengine.spec b/gridengine.spec
index 4a04e0d..d5d8c61 100644
--- a/gridengine.spec
+++ b/gridengine.spec
@@ -6,7 +6,7 @@
 
 Name:    gridengine
 Version: 6.2u5
-Release: 7%{?dist}
+Release: 8%{?dist}
 Summary: Grid Engine - Distributed Computing Management software
 
 Group:   Applications/System
@@ -71,6 +71,11 @@ Patch26: gridengine-6.2beta2-error.patch
 Patch27: gridengine-6.2u3-openssl.patch
 # Fix issue with hostnames and localhost
 Patch28: gridengine-6.2u5-gethostname.patch
+# Fix memory reporting issue, from opengridsecuduler
+Patch29: gridengine-6.2u5-vmem.patch
+# Fix slotwise preemption issue, from opengridsecuduler
+Patch30: gridengine-6.2u5-slotwise.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 ExcludeArch: ppc64
 
@@ -188,6 +193,8 @@ sed -i -e '/^#! *\/bin\/sh/d' source/dist/util/install_modules/*.sh
 %patch26 -p1 -b .error
 %patch27 -p1 -b .openssl
 %patch28 -p1 -b .gethostname
+%patch29 -p0 -b .vmem
+%patch30 -p0 -b .slotwise
 sed -i.arch -e 's,/\$DSTARCH,,g' source/scripts/distinst
 #Don't ship rctemplates
 rm -rf source/dist/util/rctemplates
@@ -565,6 +572,10 @@ fi
 
 
 %changelog
+* Fri May 6 2011 Orion Poplawski <orion at cora.nwra.com> 6.2u5-8
+- Add patches from opengridscheduler to fix vmem reporting and
+  slotwise preemption
+
 * Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 6.2u5-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list