freebsd-ports/sysutils/slurm-hpc/files/patch-src-plugins-task-cgroup-task_cgroup_cpuset.c
Boris Samorodov 3110f294ef SLURM is an open-source resource manager designed for *nix clusters of all
sizes. It provides three key functions. First it allocates exclusive and/or
non-exclusive access to resources (computer nodes) to users for some duration
of time so they can perform work. Second, it provides a framework for starting,
executing, and monitoring work (typically a parallel job) on a set of allocated
nodes. Finally, it arbitrates contention for resources by managing a queue of
pending work.

WWW: https://computing.llnl.gov/linux/slurm/

PR:		ports/184215
Submitted by:	Jason Bacon <jwbacon@tds.net>
2013-11-24 20:23:02 +00:00

34 lines
890 B
C

--- src/plugins/task/cgroup/task_cgroup_cpuset.c.orig 2013-11-14 10:56:33.000000000 -0600
+++ src/plugins/task/cgroup/task_cgroup_cpuset.c 2013-11-14 11:10:51.000000000 -0600
@@ -59,7 +59,12 @@
#ifdef HAVE_HWLOC
#include <hwloc.h>
+#if !defined(__FreeBSD__)
#include <hwloc/glibc-sched.h>
+#else
+// For cpuset
+#include <pthread_np.h>
+#endif
# if HWLOC_API_VERSION <= 0x00010000
/* After this version the cpuset structure and all it's functions
@@ -714,7 +719,7 @@
hwloc_obj_type_t req_hwtype;
size_t tssize;
- cpu_set_t ts;
+ cpuset_t ts;
bind_type = job->cpu_bind_type ;
if (conf->task_plugin_param & CPU_BIND_VERBOSE ||
@@ -900,7 +905,7 @@
hwloc_bitmap_asprintf(&str, cpuset);
- tssize = sizeof(cpu_set_t);
+ tssize = sizeof(cpuset_t);
if (hwloc_cpuset_to_glibc_sched_affinity(topology,cpuset,
&ts,tssize) == 0) {
fstatus = SLURM_SUCCESS;