Page MenuHomeFreeBSD

Improve EPOCH_TRACE
ClosedPublic

Authored by bz on Dec 3 2019, 2:05 PM.

Details

Summary
Two changes to EPOCH_TRACE:
(1) add a sysctl to surpress the backtrace from epoch_trace_report().
    Sometimes the log line for the recursion is enough and the
    backtrace massively spams the console.
(2) In order to be able to go without the backtrace do not only
    print where the previous occurance happened, but also where
    the current one happens.  That way we have file:line information
    for both and can look at them without the need for getting line
    numbers from a debugging tool.

Note: (2) now gives rather long lines. E.g.:
Recursively entering epoch Net preemptible at /sys/netinet6/ip6_output.c:415, previously entered at /sys/netinet6/mld6.c:2226
and even longer if your sources are inside a subdirectory.
I was contemplating adding a \n\t for the second half.
Leave a comment if you think that would be good.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

bz created this revision.Dec 3 2019, 2:05 PM
glebius accepted this revision.Dec 5 2019, 10:53 PM
This revision is now accepted and ready to land.Dec 5 2019, 10:53 PM
This revision was automatically updated to reflect the committed changes.