From: Tom Zanussi Date: Mon, 23 Mar 2009 18:41:00 +0000 (+0100) Subject: Blktrace failed to lock reader threads on the cpu used by the corresponding X-Git-Tag: blktrace-1.0.1~15 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=f547a39d32d514eb7bce82b955193b73e9828c85;p=blktrace.git Blktrace failed to lock reader threads on the cpu used by the corresponding writer. This resulted in stale data being consumed when blktrace accidently read at a position that was being written to at the same time. This issue surfaced as "bad trace magic" warnings emitted by blktrace tools. The problem occured on an SMP System z machine. The patch fixes the issue. Signed-off-by: Martin Peschke Signed-off-by: Jens Axboe --- diff --git a/blktrace.c b/blktrace.c index 26b3afd..656ab7a 100644 --- a/blktrace.c +++ b/blktrace.c @@ -610,7 +610,7 @@ static int lock_on_cpu(int cpu) CPU_ZERO(&cpu_mask); CPU_SET(cpu, &cpu_mask); - if (sched_setaffinity(getpid(), sizeof(cpu_mask), &cpu_mask) < 0) + if (sched_setaffinity(0, sizeof(cpu_mask), &cpu_mask) < 0) return errno; return 0;