On 9/23/2014 1:20 PM, Konstantin Belousov wrote: > On Tue, Sep 23, 2014 at 05:04:21PM +0000, Bryan Drewery wrote: >> Author: bdrewery >> Date: Tue Sep 23 17:04:21 2014 >> New Revision: 272032 >> URL: http://svnweb.freebsd.org/changeset/base/272032 >> >> Log: >> DEBUG_LOCKS no longer modifies 'struct vnode', nor does fstat(1) use it. >> fstat(1) now uses libprocstat(9). There is no userland impact to using >> this. > > DEBUG_VFS_LOCKS does modify KBI of VFS, by adding struct stack to > lockmgr, and lockmgr is embedded into each struct vnode. > > VFS modules, in particular, filesystems, compiled for mismatched > kernel WRT DEBUG_VFS_LOCKS, would cause strange breakage.
Well, perhaps the comment needs to be updated to state that DEBUG_VFS_LOCKS modifies VFS KBI so any VFS modules will need to recompiled. I did see the stack was moved to lockmgr, but given the use of libprocstat, and lockmgr being a kernel struct, I don't think it's worth mentioning userland here. Sound good? > >> >> MFC after: 3 days >> >> Modified: >> head/sys/conf/NOTES >> >> Modified: head/sys/conf/NOTES >> ============================================================================== >> --- head/sys/conf/NOTES Tue Sep 23 16:06:28 2014 (r272031) >> +++ head/sys/conf/NOTES Tue Sep 23 17:04:21 2014 (r272032) >> @@ -2625,9 +2625,7 @@ options NSFBUFS=1024 >> # Enable extra debugging code for locks. This stores the filename and >> # line of whatever acquired the lock in the lock itself, and changes a >> # number of function calls to pass around the relevant data. This is >> -# not at all useful unless you are debugging lock code. Also note >> -# that it is likely to break e.g. fstat(1) unless you recompile your >> -# userland with -DDEBUG_LOCKS as well. >> +# not at all useful unless you are debugging lock code. >> # >> options DEBUG_LOCKS >> -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature