DragonFly- master usr.bin/ktrdump ktrdump.c

Simon Schubert corecode at crater.dragonflybsd.org
Thu Apr 30 04:12:42 PDT 2009

commit 10b4dde114c2040ad4e4ce4e804e9732d6936bc4
Author: Simon Schubert <corecode at dragonflybsd.org>
Date:   Thu Apr 30 12:59:47 2009 +0200

    ktrdump: ignore ts=0 when searching for earliest_ts()
    When merge-printing multiple cpu buffers, we already treat ts=0 as
    a condition to prefer a more recent entry.  However when searching for
    the first entry, ts=0 (empty) will be treated regularly.  This can lead
    to a situation that ktrdump would only print entries from the last CPU:
    Assume you had 4 CPUs, and the buffer for CPU #2 and #3 started out with
    empty entries (which would not be ignored by earliest_ts()).  When
    searching for the next entry, the empty (ts=0) entry of CPU #2 would
    always be selected as the first entry.  However a ts=0 entry of CPU #3
    would override this.  In this case only the index of CPU #3 would
    advance until full entries would be printed.  Once in this situation,
    processing the ts of CPU #2 would always reset ts to 0, and this would
    be treated as "not found" when processing CPU #3's entries, leading to
    an output that only contains CPU #3 entries.

Summary of changes:
 usr.bin/ktrdump/ktrdump.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


DragonFly BSD source repository

More information about the Commits mailing list