MINOR: threads: Add thread-map config parameter in the global section

By default, no affinity is set for threads. To bind threads on CPU, you must
define a "thread-map" in the global section. The format is the same than the
"cpu-map" parameter, with a small difference. The process number must be
defined, with the same format than cpu-map ("all", "even", "odd" or a number
between 1 and 31/63).

A thread will be bound on the intersection of its mapping and the one of the
process on which it is attached. If the intersection is null, no specific bind
will be set for the thread.
diff --git a/include/types/global.h b/include/types/global.h
index 817c09b..b3aa29c 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -162,7 +162,12 @@
 		} ux;
 	} unix_bind;
 #ifdef USE_CPU_AFFINITY
-	unsigned long cpu_map[LONGBITS];  /* list of CPU masks for the 32/64 first processes */
+	unsigned long cpu_map[LONGBITS];              /* list of CPU masks for the 32/64 first processes */
+
+#ifdef USE_THREAD
+	unsigned long thread_map[LONGBITS][LONGBITS]; /* list of CPU masks for the 32/64 first threads per process */
+#endif
+
 #endif
 	struct proxy *stats_fe;     /* the frontend holding the stats settings */
 	struct vars   vars;         /* list of variables for the process scope. */