There isn't really a need to hold the ktrace mutex just to read the value

of p_traceflag that is stored in the kinfo_proc structure.  It is still
racey even with the lock and the code will read a consistent snapshot of
the flag without the lock.
This commit is contained in:
John Baldwin 2010-08-19 16:40:30 +00:00
parent 96835d61b6
commit ba50d5975d

View File

@ -64,10 +64,6 @@ __FBSDID("$FreeBSD$");
#include <sys/jail.h>
#include <sys/vnode.h>
#include <sys/eventhandler.h>
#ifdef KTRACE
#include <sys/uio.h>
#include <sys/ktrace.h>
#endif
#ifdef DDB
#include <ddb/ddb.h>
@ -717,9 +713,7 @@ fill_kinfo_proc_only(struct proc *p, struct kinfo_proc *kp)
kp->ki_textvp = p->p_textvp;
#ifdef KTRACE
kp->ki_tracep = p->p_tracevp;
mtx_lock(&ktrace_mtx);
kp->ki_traceflag = p->p_traceflag;
mtx_unlock(&ktrace_mtx);
#endif
kp->ki_fd = p->p_fd;
kp->ki_vmspace = p->p_vmspace;