Fix off-by-one bug in CPU split mask handling
authorJens Axboe <axboe@fb.com>
Fri, 28 Feb 2014 16:35:40 +0000 (08:35 -0800)
committerJens Axboe <axboe@fb.com>
Fri, 28 Feb 2014 16:35:40 +0000 (08:35 -0800)
The thread number is not zero based, it starts from 1.

Signed-off-by: Jens Axboe <axboe@fb.com>
backend.c

index 12c76d8545ef53a02b95223ca8d53237b3175ef4..72d9d6d2d6d1d47efe7360e8c4519a7e65c4e99c 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -1279,7 +1279,7 @@ static void *thread_main(void *data)
         */
        if (o->cpumask_set) {
                if (o->cpus_allowed_policy == FIO_CPUS_SPLIT) {
         */
        if (o->cpumask_set) {
                if (o->cpus_allowed_policy == FIO_CPUS_SPLIT) {
-                       ret = fio_cpus_split(&o->cpumask, td->thread_number);
+                       ret = fio_cpus_split(&o->cpumask, td->thread_number - 1);
                        if (!ret) {
                                log_err("fio: no CPUs set\n");
                                log_err("fio: Try increasing number of available CPUs\n");
                        if (!ret) {
                                log_err("fio: no CPUs set\n");
                                log_err("fio: Try increasing number of available CPUs\n");