Date: Wed, 4 Jan 2006 19:27:23 +0000 (UTC) From: Don Lewis <truckman@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern subr_witness.c Message-ID: <200601041927.k04JRNi6021324@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
truckman 2006-01-04 19:27:23 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/kern subr_witness.c Log: MFC subr_witness.c 1.198 and 1.200. Original commit messages: Log: Track all lock relationships instead of pruning direct relationships if an indirect relationship exists (keep both A->B->C and A->C). This allows witness_checkorder() to use isitmychild() instead of the much more expensive isitmydescendant() to check for valid lock ordering. Don't do an expensive tree walk to update the w_level values when the tree is updated. Only update the w_level values when using the debugger to display the tree. Nuke the experimental "witness_watch > 1" mode that only compared w_level for the two locks. This information is no longer maintained at run time, and the use of isitmychild() in witness_checkorder should bring performance close enough to the acceptable level that this hack is not needed. Report witness data structure allocation statistics under the debug.witness sysctl. Reviewed by: jhb MFC after: 30 days Log: Relocate witness_levelall(), witness_leveldescendents(), and witness_displaydescendants() so that they are protected by "#ifdef DDB/#endif" to unbreak kernels not using "option DDB". MFC after: 3 weeks Revision Changes Path 1.195.2.7 +31 -71 src/sys/kern/subr_witness.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601041927.k04JRNi6021324>