diff options
Diffstat (limited to 'sysutils/sge62/files/sge-freebsd-pdc.diff')
-rw-r--r-- | sysutils/sge62/files/sge-freebsd-pdc.diff | 366 |
1 files changed, 0 insertions, 366 deletions
diff --git a/sysutils/sge62/files/sge-freebsd-pdc.diff b/sysutils/sge62/files/sge-freebsd-pdc.diff deleted file mode 100644 index 0c8c7683b5c3..000000000000 --- a/sysutils/sge62/files/sge-freebsd-pdc.diff +++ /dev/null @@ -1,366 +0,0 @@ ---- daemons/common/pdc.c.orig Thu Sep 1 02:09:04 2005 -+++ daemons/common/pdc.c Thu Apr 13 22:05:15 2006 -@@ -118,6 +118,16 @@ - #include "sge_unistd.h" - #endif - -+#if defined(FREEBSD) -+#include <sys/param.h> -+#include <sys/sysctl.h> -+#include <sys/user.h> -+ -+#include <fcntl.h> -+#include <kvm.h> -+#include <limits.h> -+#endif -+ - #if defined(LINUX) || defined(ALPHA) || defined(IRIX) || defined(SOLARIS) || defined(DARWIN) || defined (FREEBSD) || defined(NETBSD) - - #include "sge_os.h" -@@ -188,12 +198,57 @@ - } - #endif - --#if defined(LINUX) || defined(SOLARIS) || defined(ALPHA) -+#if defined(LINUX) || defined(SOLARIS) || defined(ALPHA) || defined(FREEBSD) - - void pdc_kill_addgrpid(gid_t add_grp_id, int sig, - tShepherd_trace shepherd_trace) - { -+#if defined(LINUX) || defined(SOLARIS) || defined(ALPHA) - procfs_kill_addgrpid(add_grp_id, sig, shepherd_trace); -+#elif defined(FREEBSD) -+ kvm_t *kd; -+ int i, nprocs; -+ struct kinfo_proc *procs; -+ char kerrbuf[_POSIX2_LINE_MAX]; -+ -+ kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, kerrbuf); -+ if (kd == NULL) { -+#if DEBUG -+ fprintf(stderr, "kvm_getprocs: error %s\n", kerrbuf); -+#endif -+ return; -+ } -+ -+ procs = kvm_getprocs(kd, KERN_PROC_ALL, 0, &nprocs); -+ if (procs == NULL) { -+#if DEBUG -+ fprintf(stderr, "kvm_getprocs: error %s\n", kvm_geterr(kd)); -+#endif -+ kvm_close(kd); -+ return; -+ } -+ for (; nprocs >= 0; nprocs--, procs++) { -+ for (i = 0; i < procs->ki_ngroups; i++) { -+ if (procs->ki_groups[i] == add_grp_id) { -+ char err_str[256]; -+ -+ if (procs->ki_uid != 0 && procs->ki_ruid != 0 && -+ procs->ki_svuid != 0 && -+ procs->ki_rgid != 0 && procs->ki_svgid != 0) { -+ kill(procs->ki_pid, sig); -+ sprintf(err_str, MSG_SGE_KILLINGPIDXY_UI , -+ sge_u32c(procs->ki_pid), add_grp_id); -+ } else { -+ sprintf(err_str, MSG_SGE_DONOTKILLROOTPROCESSXY_UI , -+ sge_u32c(procs->ki_pid), add_grp_id); -+ } -+ if (shepherd_trace) -+ shepherd_trace(err_str); -+ } -+ } -+ } -+ kvm_close(kd); -+#endif - } - #endif - -@@ -1404,6 +1459,95 @@ - ; - pt_close(); - } -+#elif defined(FREEBSD) -+ { -+ kvm_t *kd; -+ int i, nprocs; -+ struct kinfo_proc *procs; -+ char kerrbuf[_POSIX2_LINE_MAX]; -+ job_elem_t *job_elem; -+ double old_time = 0.0; -+ uint64 old_vmem = 0; -+ -+ kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, kerrbuf); -+ if (kd == NULL) { -+#if DEBUG -+ fprintf(stderr, "kvm_getprocs: error %s\n", kerrbuf); -+#endif -+ DEXIT; -+ return -1; -+ } -+ -+ procs = kvm_getprocs(kd, KERN_PROC_ALL, 0, &nprocs); -+ if (procs == NULL) { -+#if DEBUG -+ fprintf(stderr, "kvm_getprocs: error %s\n", kvm_geterr(kd)); -+#endif -+ kvm_close(kd); -+ DEXIT; -+ return -1; -+ } -+ for (; nprocs >= 0; nprocs--, procs++) { -+ for (curr=job_list.next; curr != &job_list; curr=curr->next) { -+ job_elem = LNK_DATA(curr, job_elem_t, link); -+ -+ for (i = 0; i < procs->ki_ngroups; i++) { -+ if (job_elem->job.jd_jid == procs->ki_groups[i]) { -+ lnk_link_t *curr2; -+ proc_elem_t *proc_elem; -+ int newprocess; -+ -+ newprocess = 1; -+ if (job_elem->job.jd_proccount != 0) { -+ for (curr2=job_elem->procs.next; curr2 != &job_elem->procs; curr2=curr2->next) { -+ proc_elem = LNK_DATA(curr2, proc_elem_t, link); -+ -+ if (proc_elem->proc.pd_pid == procs->ki_pid) { -+ newprocess = 0; -+ break; -+ } -+ } -+ } -+ if (newprocess) { -+ proc_elem = malloc(sizeof(proc_elem_t)); -+ if (proc_elem == NULL) { -+ kvm_close(kd); -+ DEXIT; -+ return 0; -+ } -+ -+ memset(proc_elem, 0, sizeof(proc_elem_t)); -+ proc_elem->proc.pd_length = sizeof(psProc_t); -+ proc_elem->proc.pd_state = 1; /* active */ -+ proc_elem->proc.pd_pstart = procs->ki_start.tv_sec; -+ -+ LNK_ADD(job_elem->procs.prev, &proc_elem->link); -+ job_elem->job.jd_proccount++; -+ } else { -+ /* save previous usage data - needed to build delta usage */ -+ old_time = proc_elem->proc.pd_utime + proc_elem->proc.pd_stime; -+ old_vmem = proc_elem->vmem; -+ } -+ proc_elem->proc.pd_tstamp = time_stamp; -+ proc_elem->proc.pd_pid = procs->ki_pid; -+ -+ proc_elem->proc.pd_utime = procs->ki_rusage.ru_utime.tv_sec; -+ proc_elem->proc.pd_stime = procs->ki_rusage.ru_stime.tv_sec; -+ -+ proc_elem->proc.pd_uid = procs->ki_uid; -+ proc_elem->proc.pd_gid = procs->ki_rgid; -+ proc_elem->vmem = procs->ki_size; -+ proc_elem->rss = procs->ki_rssize; -+ -+ proc_elem->mem = ((proc_elem->proc.pd_stime + proc_elem->proc.pd_utime) - old_time) * -+ (( old_vmem + proc_elem->vmem)/2); -+ } -+ } -+ } -+ } -+ -+ kvm_close(kd); -+ } - #elif defined(NECSX4) || defined(NECSX5) - { - for (curr=job_list.next; curr != &job_list; curr=curr->next) { -@@ -1951,7 +2095,7 @@ - - } - --#elif defined(ALPHA) || defined(LINUX) || defined(SOLARIS) -+#elif defined(ALPHA) || defined(LINUX) || defined(SOLARIS) || defined(FREEBSD) - { - int proccount; - lnk_link_t *currp, *nextp; ---- daemons/common/pdc.h.orig Mon Feb 9 06:06:49 2004 -+++ daemons/common/pdc.h Thu Apr 13 22:00:01 2006 -@@ -187,7 +187,7 @@ - int sup_groups_in_proc(void); - #endif - --#if defined(ALPHA) || defined(LINUX) || defined(SOLARIS) -+#if defined(ALPHA) || defined(LINUX) || defined(SOLARIS) || defined(FREEBSD) - void pdc_kill_addgrpid(gid_t, int, tShepherd_trace); - #endif - ---- daemons/common/setosjobid.c.orig Tue May 3 02:18:19 2005 -+++ daemons/common/setosjobid.c Thu Apr 13 22:00:01 2006 -@@ -126,7 +126,7 @@ - sprintf(err_str, "setosjobid: uid = "pid_t_fmt", euid = "pid_t_fmt, getuid(), geteuid()); - shepherd_trace(err_str); - --# if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+# if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - /* Read SgeId from config-File and create Addgrpid-File */ - { - char *cp; ---- daemons/execd/exec_job.c.orig Wed Nov 23 03:03:59 2005 -+++ daemons/execd/exec_job.c Thu Apr 13 22:06:17 2006 -@@ -106,7 +106,7 @@ - extern char execd_spool_dir[SGE_PATH_MAX]; - - #if COMPILE_DC --#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - /* local functions */ - static int addgrpid_already_in_use(long); - static long get_next_addgrpid(lList *, long); -@@ -143,7 +143,7 @@ - } - - #if COMPILE_DC --#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - static long get_next_addgrpid( - lList *rlp, - long last_addgrpid -@@ -245,7 +245,7 @@ - char dce_wrapper_cmd[128]; - - #if COMPILE_DC --#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - static gid_t last_addgrpid; - #endif - #endif -@@ -778,7 +778,7 @@ - - #ifdef COMPILE_DC - --# if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+# if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - - { - lList *rlp = NULL; ---- daemons/execd/execd_ck_to_do.c.orig Wed Nov 2 08:03:13 2005 -+++ daemons/execd/execd_ck_to_do.c Thu Apr 13 22:07:18 2006 -@@ -913,7 +913,7 @@ - FILE *fp; - SGE_STRUCT_STAT sb; - --#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - gid_t addgrpid; - dstring addgrpid_path = DSTRING_INIT; - #else -@@ -928,7 +928,7 @@ - pe_task_id = lGetString(pe_task, PET_id); - } - --#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - /** - ** read additional group id and use it as osjobid - **/ ---- daemons/execd/ptf.c.orig Tue Nov 22 07:35:00 2005 -+++ daemons/execd/ptf.c Thu Apr 13 22:08:27 2006 -@@ -44,7 +44,7 @@ - - #if defined(COMPILE_DC) || defined(MODULE_TEST) - --#if defined(IRIX) || defined(ALPHA) || defined(LINUX) || defined(SOLARIS) || defined(NECSX4) || defined(NECSX5) || !defined(MODULE_TEST) -+#if defined(IRIX) || defined(ALPHA) || defined(LINUX) || defined(SOLARIS) || defined(NECSX4) || defined(NECSX5) || !defined(MODULE_TEST) || defined(FREEBSD) - # define USE_DC - #endif - -@@ -82,7 +82,7 @@ - # include <sys/category.h> - #endif - --#if defined(ALPHA) || defined(SOLARIS) || defined(LINUX) -+#if defined(ALPHA) || defined(SOLARIS) || defined(LINUX) || defined(FREEBSD) - # include <sys/resource.h> - #endif - -@@ -217,7 +217,7 @@ - - static void ptf_setpriority_jobid(lListElem *job, lListElem *osjob, long pri); - --#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) -+#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) || defined(FREEBSD) - - static void ptf_setpriority_addgrpid(lListElem *job, lListElem *osjob, - long pri); -@@ -365,7 +365,7 @@ - lSetDouble(usage, UA_value, 0); - lAppendElem(usage_list, usage); - --#if defined(ALPHA) || defined(LINUX) || defined(SOLARIS) -+#if defined(ALPHA) || defined(LINUX) || defined(SOLARIS) || defined(FREBSD) - usage = lCreateElem(UA_Type); - lSetString(usage, UA_name, USAGE_ATTR_VMEM); - lSetDouble(usage, UA_value, 0); -@@ -494,7 +494,7 @@ - ptf_setpriority_ash(job, osjob, pri); - #elif defined(CRAY) || defined(NECSX4) || defined(NECSX5) - ptf_setpriority_jobid(job, osjob, pri); --#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) -+#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) || defined(FREEBSD) - ptf_setpriority_addgrpid(job, osjob, pri); - #endif - } -@@ -713,7 +713,7 @@ - DEXIT; - } - --#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) -+#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) || defined(FREEBSD) - - /****** execd/ptf/ptf_setpriority_addgrpid() ********************************** - * NAME -@@ -724,9 +724,9 @@ - * long *pri) - * - * FUNCTION --* This function is only available for the architecture SOLARIS, ALPHA and --* LINUX. All processes belonging to "job" and "osjob" will get a new i --* priority. -+* This function is only available for the architecture SOLARIS, ALPHA, -+* LINUX, and FREEBSD. All processes belonging to "job" and "osjob" will -+* get a new priority. - * - * This function assumes the the "max" priority is smaller than the "min" - * priority. -@@ -1981,7 +1981,7 @@ - } - } - --#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) -+#elif defined(ALPHA) || defined(SOLARIS) || defined(LINUX) || defined(FREEBSD) - if (getuid() == 0) { - if (setpriority(PRIO_PROCESS, getpid(), PTF_MAX_PRIORITY) < 0) { - ERROR((SGE_EVENT, MSG_PRIO_SETPRIOFAILED_S, strerror(errno))); ---- daemons/shepherd/shepherd.c.orig Mon Jan 1 05:44:56 2007 -+++ daemons/shepherd/shepherd.c Mon Feb 5 10:07:37 2007 -@@ -2478,9 +2478,9 @@ - kill(pid, sig); - sge_switch2admin_user(); - --#if defined(SOLARIS) || defined(LINUX) || defined(ALPHA) || defined(IRIX) -+#if defined(SOLARIS) || defined(LINUX) || defined(ALPHA) || defined(IRIX) || defined(FREEBSD) - if (first_kill == 0 || sig != SIGKILL || is_qrsh == false) { --# if defined(SOLARIS) || defined(LINUX) || defined(ALPHA) -+# if defined(SOLARIS) || defined(LINUX) || defined(ALPHA) || defined(FREEBSD) - # ifdef COMPILE_DC - if (atoi(get_conf_val("enable_addgrp_kill")) == 1) { - gid_t add_grp_id; ---- libs/uti/sge_uidgid.c.orig Wed Nov 23 03:04:09 2005 -+++ libs/uti/sge_uidgid.c Thu Apr 13 22:00:01 2006 -@@ -850,7 +850,7 @@ - #endif - #endif /* WIN32 */ - --#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) -+#if defined(SOLARIS) || defined(ALPHA) || defined(LINUX) || defined(FREEBSD) - /* add Additional group id to current list of groups */ - if (add_grp) { - if (sge_add_group(add_grp, err_str) == -1) { |