From c8f025f8a33e05b10fe928d5899ac4e948847eb6 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 22 May 2007 17:06:24 +0200 Subject: [PATCH] Add comment in os/os-linux.h wrt glibc-2.3.2 It was a broken release wrt cpu affinity, they removed the size argument from the set/get functions. If you want to compile on such an ancient glibc, manually define GLIBC_2_3_2. Signed-off-by: Jens Axboe --- os/os-linux.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/os/os-linux.h b/os/os-linux.h index 7fa0c956..dfb6eb98 100644 --- a/os/os-linux.h +++ b/os/os-linux.h @@ -35,10 +35,21 @@ typedef struct drand48_data os_random_state_t; #define fadvise(fd, off, len, advice) \ posix_fadvise((fd), (off_t)(off), (len), (advice)) +/* + * If you are on an ancient glibc (2.3.2), then define GLIBC_2_3_2 if you want + * the affinity helpers to work. + */ +#ifndef GLIBC_2_3_2 #define fio_setaffinity(td) \ sched_setaffinity((td)->pid, sizeof((td)->o.cpumask), &(td)->o.cpumask) #define fio_getaffinity(pid, ptr) \ sched_getaffinity((pid), sizeof(cpu_set_t), (ptr)) +#else +#define fio_setaffinity(td) \ + sched_setaffinity((td)->pid, &(td)->o.cpumask) +#define fio_getaffinity(pid, ptr) \ + sched_getaffinity((pid), (ptr)) +#endif static inline int ioprio_set(int which, int who, int ioprio) { -- 2.25.1