Add support for cpus_allowed_policy

Two policies are supported:

shared	cpumask is shared between all threads. This is the original
	behavior.

split	cpumask is split between threads, each thread gets a unique
	CPU.

Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/os/os.h b/os/os.h
index 03d1e9a..a6bc17f 100644
--- a/os/os.h
+++ b/os/os.h
@@ -80,7 +80,10 @@
 #define fio_getaffinity(pid, mask)	do { } while (0)
 #define fio_cpu_clear(mask, cpu)	do { } while (0)
 #define fio_cpuset_exit(mask)		(-1)
+#define fio_cpus_split(mask, cpu)	(0)
 typedef unsigned long os_cpu_mask_t;
+#else
+extern int fio_cpus_split(os_cpu_mask_t *mask, unsigned int cpu);
 #endif
 
 #ifndef FIO_HAVE_IOPRIO