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/fio.1 b/fio.1
index c530d84..863b0e0 100644
--- a/fio.1
+++ b/fio.1
@@ -833,6 +833,25 @@
 .BI cpus_allowed \fR=\fPstr
 Same as \fBcpumask\fR, but allows a comma-delimited list of CPU numbers.
 .TP
+.BI cpus_allowed_policy \fR=\fPstr
+Set the policy of how fio distributes the CPUs specified by \fBcpus_allowed\fR
+or \fBcpumask\fR. Two policies are supported:
+.RS
+.RS
+.TP
+.B shared
+All jobs will share the CPU set specified.
+.TP
+.B split
+Each job will get a unique CPU from the CPU set.
+.RE
+.P
+\fBshared\fR is the default behaviour, if the option isn't specified. If
+\fBsplit\fR is specified, then fio will error out if there are more jobs
+defined than CPUs given in the set.
+.RE
+.P
+.TP
 .BI numa_cpu_nodes \fR=\fPstr
 Set this job running on specified NUMA nodes' CPUs. The arguments allow
 comma delimited list of cpu numbers, A-B ranges, or 'all'.