aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/proc.h
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2019-09-25 18:26:31 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2019-09-25 18:26:31 +0000
commitdd902d015a202e4cabb8fdadd307ec9a3dc38251 (patch)
treeca15ad85e373523316f0455e26d4c94b780efacc /sys/sys/proc.h
parenta9ac5e142408d3228694aea197d9f77e643ab015 (diff)
downloadsrc-dd902d015a202e4cabb8fdadd307ec9a3dc38251.tar.gz
src-dd902d015a202e4cabb8fdadd307ec9a3dc38251.zip
Add debugging facility EPOCH_TRACE that checks that epochs entered are
properly nested and warns about recursive entrances. Unlike with locks, there is nothing fundamentally wrong with such use, the intent of tracer is to help to review complex epoch-protected code paths, and we mean the network stack here. Reviewed by: hselasky Sponsored by: Netflix Pull Request: https://reviews.freebsd.org/D21610
Notes
Notes: svn path=/head/; revision=352707
Diffstat (limited to 'sys/sys/proc.h')
-rw-r--r--sys/sys/proc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index ae605a1266dd..8edca8ad889b 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -367,6 +367,7 @@ struct thread {
void *td_lkpi_task; /* LinuxKPI task struct pointer */
struct epoch_tracker *td_et; /* (k) compat KPI spare tracker */
int td_pmcpend;
+ SLIST_HEAD(, epoch_tracker) td_epochs;
};
struct thread0_storage {