On Mon, Dec 08 2008, Jan Blunck wrote: > When running > > blktrace -d /dev/sda -o - | ./blkparse -i - > > Only a few traces are actually dumped to stdout. Most of the traces are > stored up and printed only after hitting ^C by forcing show_entries_rb() to > print them out. I noticed that once pci->smallest_seq_read is zero > check_sequence always returns 1: > > static int check_sequence(struct per_dev_info *pdi, struct trace *t, int > force) > { > ... > > if (expected_sequence < pci->smallest_seq_read) { > __t = trace_rb_find_last(pdi, pci, expected_sequence); > if (!__t) > goto skip; > > __put_trace_last(pdi, __t); > return 0; > } else if (!force) { > return 1; > > ... > } > > Here is a patch to fix this. It uses a global variable to keep track of the > smallest sequence read yet on any cpu. Shouldn't this be stored in the per-device info - IOW, the smallest sequence read yet on this device on any CPU? -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-btrace" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html