From e29ba2ac9870d694a515d48ca6710fa8dfbf907e Mon Sep 17 00:00:00 2001 From: Danny Auble <da@schedmd.com> Date: Wed, 27 Apr 2016 14:13:33 -0700 Subject: [PATCH] Move code to be inside the #ifdef since you need HWLOC to use them. No real code change. --- src/plugins/task/cgroup/task_cgroup_cpuset.c | 110 +++++++++---------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/src/plugins/task/cgroup/task_cgroup_cpuset.c b/src/plugins/task/cgroup/task_cgroup_cpuset.c index 9d6961fe83a..7d01ecb6a8d 100644 --- a/src/plugins/task/cgroup/task_cgroup_cpuset.c +++ b/src/plugins/task/cgroup/task_cgroup_cpuset.c @@ -163,61 +163,6 @@ static inline int _char_to_val(int c) return -1; } -static char *_cpuset_to_str(const cpu_set_t *mask, char *str) -{ - int base; - char *ptr = str; - char *ret = NULL; - - for (base = CPU_SETSIZE - 4; base >= 0; base -= 4) { - char val = 0; - if (CPU_ISSET(base, mask)) - val |= 1; - if (CPU_ISSET(base + 1, mask)) - val |= 2; - if (CPU_ISSET(base + 2, mask)) - val |= 4; - if (CPU_ISSET(base + 3, mask)) - val |= 8; - if (!ret && val) - ret = ptr; - *ptr++ = _val_to_char(val); - } - *ptr = '\0'; - return ret ? ret : ptr - 1; -} - -static int _str_to_cpuset(cpu_set_t *mask, const char* str) -{ - int len = strlen(str); - const char *ptr = str + len - 1; - int base = 0; - - /* skip 0x, it's all hex anyway */ - if (len > 1 && !memcmp(str, "0x", 2L)) - str += 2; - - CPU_ZERO(mask); - while (ptr >= str) { - char val = _char_to_val(*ptr); - if (val == (char) -1) - return -1; - if (val & 1) - CPU_SET(base, mask); - if (val & 2) - CPU_SET(base + 1, mask); - if (val & 4) - CPU_SET(base + 2, mask); - if (val & 8) - CPU_SET(base + 3, mask); - len--; - ptr--; - base += 4; - } - - return 0; -} - /* when cgroups are configured with cpuset, at least * cpuset.cpus and cpuset.mems must be set or the cgroup * will not be available at all. @@ -294,6 +239,61 @@ static int _xcgroup_cpuset_init(xcgroup_t* cg) #ifdef HAVE_HWLOC +static char *_cpuset_to_str(const cpu_set_t *mask, char *str) +{ + int base; + char *ptr = str; + char *ret = NULL; + + for (base = CPU_SETSIZE - 4; base >= 0; base -= 4) { + char val = 0; + if (CPU_ISSET(base, mask)) + val |= 1; + if (CPU_ISSET(base + 1, mask)) + val |= 2; + if (CPU_ISSET(base + 2, mask)) + val |= 4; + if (CPU_ISSET(base + 3, mask)) + val |= 8; + if (!ret && val) + ret = ptr; + *ptr++ = _val_to_char(val); + } + *ptr = '\0'; + return ret ? ret : ptr - 1; +} + +static int _str_to_cpuset(cpu_set_t *mask, const char* str) +{ + int len = strlen(str); + const char *ptr = str + len - 1; + int base = 0; + + /* skip 0x, it's all hex anyway */ + if (len > 1 && !memcmp(str, "0x", 2L)) + str += 2; + + CPU_ZERO(mask); + while (ptr >= str) { + char val = _char_to_val(*ptr); + if (val == (char) -1) + return -1; + if (val & 1) + CPU_SET(base, mask); + if (val & 2) + CPU_SET(base + 1, mask); + if (val & 4) + CPU_SET(base + 2, mask); + if (val & 8) + CPU_SET(base + 3, mask); + len--; + ptr--; + base += 4; + } + + return 0; +} + static void _slurm_chkaffinity(cpu_set_t *mask, stepd_step_rec_t *job, int statval) { -- GitLab