File btreplay-fix-typo-in-scaling-up-the-dynamic-cpu-set-size.patch of Package blktrace.8516
From: Josef Cejka <jcejka@suse.com>
Subject: btreplay: Fix typo in scaling up the dynamic cpu set size.
Git-repo: git://git.kernel.dk/blktrace.git
Git-commit: 2564a6029e55d6a0507ebb28a5a01f5dffb0bd56
Patch-mainline: release following blktrace-1.1.0
References: bsc#939307
In get_ncpus, we default to using 4096 CPUs if _SC_NPROCESSORS_CONF isn't
enabled. If that is insufficient, sched_getaffinity will fail and we
retry after doubling the size of the cpu_set_t allocation. There's a typo
in there that means we don't actually double the size and will loop
forever allocating the same sized cpu_set_t instead.
Signed-off-by: Josef Cejka <jcejka@suse.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
---
btreplay/btreplay.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/btreplay/btreplay.c
+++ b/btreplay/btreplay.c
@@ -516,7 +516,7 @@ realloc:
if (sched_getaffinity(getpid(), size, cpus)) {
if( errno == EINVAL && nrcpus < (4096<<4) ) {
CPU_FREE(cpus);
- nrcpus <= 1;
+ nrcpus <<= 1;
goto realloc;
}
fatal("sched_getaffinity", ERR_SYSCALL, "Can't get CPU info\n");