summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Zanussi <tzanussi@gmail.com>2009-03-23 19:41:00 +0100
committerJens Axboe <axboe@carl.(none)>2009-03-23 19:41:00 +0100
commitf547a39d32d514eb7bce82b955193b73e9828c85 (patch)
tree941505461b57d81de060773be1bb59e468741863
parent726d2aee9d2b97b32daa08824857c77f9536609f (diff)
downloadblktrace-f547a39d32d514eb7bce82b955193b73e9828c85.tar.gz
blktrace-f547a39d32d514eb7bce82b955193b73e9828c85.tar.bz2
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 <mpeschke@linux.vnet.ibm.com> Signed-off-by: Jens Axboe <axboe@carl.(none)>
-rw-r--r--blktrace.c2
1 files changed, 1 insertions, 1 deletions
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;