Date: Mon, 12 Dec 2011 18:05:13 +0100 From: Attilio Rao <attilio@freebsd.org> To: Andriy Gapon <avg@freebsd.org> Cc: Kostik Belousov <kostikbel@gmail.com>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r228433 - in head/sys: kern security/mac Message-ID: <CAJ-FndBSBuoR4=cdjs0QgN4SAR-uJ39Kpw4EV_yjU97c=uyU0w@mail.gmail.com> In-Reply-To: <CAJ-FndDJbrTT0u1Hz_0MLJiEq3G0qcq77jBqfttVeUgiR414=g@mail.gmail.com> References: <201112121005.pBCA5Dar093711@svn.freebsd.org> <20111212101558.GK50300@deviant.kiev.zoral.com.ua> <4EE5D574.9080303@FreeBSD.org> <CAJ-FndDJbrTT0u1Hz_0MLJiEq3G0qcq77jBqfttVeUgiR414=g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
2011/12/12 Attilio Rao <attilio@freebsd.org>: > 2011/12/12 Andriy Gapon <avg@freebsd.org>: >> on 12/12/2011 12:15 Kostik Belousov said the following: >>> On Mon, Dec 12, 2011 at 10:05:13AM +0000, Andriy Gapon wrote: >>>> Author: avg >>>> Date: Mon Dec 12 10:05:13 2011 >>>> New Revision: 228433 >>>> URL: http://svn.freebsd.org/changeset/base/228433 >>>> >>>> Log: >>>> =C2=A0 put sys/systm.h at its proper place or add it if missing >>>> >>>> =C2=A0 Reported by: =C2=A0 =C2=A0 =C2=A0 lstewart, tinderbox >>>> =C2=A0 Pointyhat to: =C2=A0 =C2=A0 =C2=A0avg, attilio >>>> =C2=A0 MFC after: 1 week >>>> =C2=A0 MFC with: =C2=A0r228430 >>>> >>>> Modified: >>>> =C2=A0 head/sys/kern/kern_sx.c >>>> =C2=A0 head/sys/kern/vfs_cache.c >>>> =C2=A0 head/sys/security/mac/mac_framework.c >>>> =C2=A0 head/sys/security/mac/mac_priv.c >>> It means that previously sx.h did not required systm.h and now it does = ? >>> Might be, you should move SCHEDULER_STOPPED and stop_scheduler declarat= ions >>> into sys/lock.h ? >>> >> >> Strictly speaking it's sys/lockstat.h that now requires systm.h. >> I am not an expert in FreeBSD header file organization, so I will just f= ollow >> whatever the experts advise. > > I think that we should revert this part of the patch and just fix > dtrace_probe() for pollution, this way we get the same effect and > avoid namespace pollution (and still improve the MFC situation). > > I'll make a patch available in the next hour. More precisely, what do you think about the patch below? I just didn't revert the moving of systm.h under param.h because Bruce seems to prefer that. I'm starting test-compile right now, let me know your preference. Attilio Index: sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c (revision 228438) +++ sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c (working co= py) @@ -5877,6 +5877,9 @@ dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintp volatile uint16_t *flags; hrtime_t now; + if (SCHEDULER_STOPPED()) + return; + #if defined(sun) /* * Kick out immediately if this CPU is still being born (in which c= ase Index: sys/security/mac/mac_priv.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/security/mac/mac_priv.c (revision 228438) +++ sys/security/mac/mac_priv.c (working copy) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); #include "opt_mac.h" #include <sys/param.h> -#include <sys/systm.h> #include <sys/kernel.h> #include <sys/priv.h> #include <sys/sdt.h> Index: sys/sys/lockstat.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/sys/lockstat.h (revision 228438) +++ sys/sys/lockstat.h (working copy) @@ -185,24 +185,17 @@ extern uint64_t lockstat_nsecs(void); #define LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(probe, lp, c, wt, f, l) do { \ uint32_t id; = \ = \ - if (!SCHEDULER_STOPPED()) { = \ - lock_profile_obtain_lock_success(&(lp)->lock_object, c, wt,= \ - f, l); = \ - if ((id =3D lockstat_probemap[(probe)])) = \ - (*lockstat_probe_func)(id, (uintptr_t)(lp), 0, 0, = \ - 0, 0); = \ - } = \ + lock_profile_obtain_lock_success(&(lp)->lock_object, c, wt, f, l); = \ + if ((id =3D lockstat_probemap[(probe)])) = \ + (*lockstat_probe_func)(id, (uintptr_t)(lp), 0, 0, 0, 0); = \ } while (0) #define LOCKSTAT_PROFILE_RELEASE_LOCK(probe, lp) do { \ uint32_t id; = \ = \ - if (!SCHEDULER_STOPPED()) { = \ - lock_profile_release_lock(&(lp)->lock_object); = \ - if ((id =3D lockstat_probemap[(probe)])) = \ - (*lockstat_probe_func)(id, (uintptr_t)(lp), 0, 0, = \ - 0, 0); = \ - } = \ + lock_profile_release_lock(&(lp)->lock_object); = \ + if ((id =3D lockstat_probemap[(probe)])) = \ + (*lockstat_probe_func)(id, (uintptr_t)(lp), 0, 0, 0, 0); = \ } while (0) #else /* !KDTRACE_HOOKS */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-FndBSBuoR4=cdjs0QgN4SAR-uJ39Kpw4EV_yjU97c=uyU0w>