mac: reduce pessimization of sdt probe handling

Prior to the change the code would branch on return value and then check
if probes are enabled. Since vast majority of the time they are not, this
is clearly wasteful. Check probes first.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Mateusz Guzik 2018-12-19 22:30:26 +00:00
parent 92dec625e3
commit 6dcf45feda
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=342247

View File

@ -98,12 +98,14 @@ SDT_PROVIDER_DECLARE(mac_framework); /* Entry points to MAC. */
"int", arg0);
#define MAC_CHECK_PROBE4(name, error, arg0, arg1, arg2, arg3) do { \
if (error) { \
SDT_PROBE5(mac_framework, , name, mac__check__err, \
error, arg0, arg1, arg2, arg3); \
} else { \
SDT_PROBE5(mac_framework, , name, mac__check__ok, \
0, arg0, arg1, arg2, arg3); \
if (SDT_PROBES_ENABLED()) { \
if (error) { \
SDT_PROBE5(mac_framework, , name, mac__check__err,\
error, arg0, arg1, arg2, arg3); \
} else { \
SDT_PROBE5(mac_framework, , name, mac__check__ok,\
0, arg0, arg1, arg2, arg3); \
} \
} \
} while (0)
@ -122,12 +124,14 @@ SDT_PROVIDER_DECLARE(mac_framework); /* Entry points to MAC. */
"int", arg0, arg1);
#define MAC_GRANT_PROBE2(name, error, arg0, arg1) do { \
if (error) { \
SDT_PROBE3(mac_framework, , name, mac__grant__err, \
error, arg0, arg1); \
} else { \
SDT_PROBE3(mac_framework, , name, mac__grant__ok, \
error, arg0, arg1); \
if (SDT_PROBES_ENABLED()) { \
if (error) { \
SDT_PROBE3(mac_framework, , name, mac__grant__err,\
error, arg0, arg1); \
} else { \
SDT_PROBE3(mac_framework, , name, mac__grant__ok,\
error, arg0, arg1); \
} \
} \
} while (0)