From a177ef0068dc59b2162dce7d4cf565e21e816718 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 3 Jul 2014 21:53:38 -0700 Subject: [PATCH] client: fix job scheduling bug. Sort by avg_ncpus doesn't apply to GPU jobs --- client/cpu_sched.cpp | 8 +++++--- lib/shmem.cpp | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/client/cpu_sched.cpp b/client/cpu_sched.cpp index dd4177d134..70b5f8e4d5 100644 --- a/client/cpu_sched.cpp +++ b/client/cpu_sched.cpp @@ -1011,10 +1011,12 @@ static inline bool more_important(RESULT* r0, RESULT* r1) { if (unfin0 && !unfin1) return true; if (!unfin0 && unfin1) return false; - // favor jobs that use more CPUs + // for CPU jobs, favor jobs that use more CPUs // - if (r0->avp->avg_ncpus > r1->avp->avg_ncpus) return true; - if (r1->avp->avg_ncpus > r0->avp->avg_ncpus) return false; + if (!cp0) { + if (r0->avp->avg_ncpus > r1->avp->avg_ncpus) return true; + if (r1->avp->avg_ncpus > r0->avp->avg_ncpus) return false; + } // favor jobs selected first by schedule_cpus() // (e.g., because their project has high sched priority) diff --git a/lib/shmem.cpp b/lib/shmem.cpp index 8d904681d6..00b3cb77b1 100644 --- a/lib/shmem.cpp +++ b/lib/shmem.cpp @@ -418,7 +418,7 @@ int create_shmem(key_t key, int size, gid_t gid, void** pp) { } if (id < 0) { perror("shmget"); - fprintf(stderr,"shmem size: %d\n", size); + fprintf(stderr, "shmem size: %d\n", size); return ERR_SHMGET; }