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.