linux/security/selinux
Linus Torvalds 48aab2f79d security: optimize avc_audit() common path
avc_audit() did a lot of jumping around and had a big stack frame, all
for the uncommon case.

Split up the uncommon case (which we really can't make go fast anyway)
into its own slow function, and mark the conditional branches
appropriately for the common likely case.

This causes avc_audit() to no longer show up as one of the hottest
functions on the branch profiles (the new "perf -b" thing), and makes
the cycle profiles look really nice and dense too.

The whole audit path is still annoyingly very much one of the biggest
costs of name lookup, so these things are worth optimizing for.  I wish
we could just tell people to turn it off, but realistically we do need
it: we just need to make sure that the overhead of the necessary evil is
as low as possible.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-22 17:01:41 -07:00
..
include selinux: sparse fix: fix several warnings in the security server cod 2012-01-05 18:52:52 -05:00
ss selinux: sparse fix: fix several warnings in the security server cod 2012-01-05 18:52:52 -05:00
.gitignore SELinux: add .gitignore files for dynamic classes 2009-10-24 09:42:27 +08:00
avc.c security: optimize avc_audit() common path 2012-03-22 17:01:41 -07:00
exports.c selinux: sparse fix: include selinux.h in exports.c 2011-09-09 16:56:32 -07:00
hooks.c security: trim security.h 2012-02-14 10:45:42 +11:00
Kconfig selinux: Deprecate and schedule the removal of the the compat_net functionality 2008-12-31 12:54:11 -05:00
Makefile selinux: change to new flag variable 2010-10-21 10:12:40 +11:00
netif.c doc: Update the email address for Paul Moore in various source files 2011-08-01 17:58:33 -07:00
netlabel.c doc: Update the email address for Paul Moore in various source files 2011-08-01 17:58:33 -07:00
netlink.c selinux: sparse fix: fix warnings in netlink code 2012-01-05 18:52:51 -05:00
netnode.c net: remove ipv6_addr_copy() 2011-11-22 16:43:32 -05:00
netport.c SELinux: Fix RCU deref check warning in sel_netport_insert() 2011-12-21 11:28:56 +11:00
nlmsgtab.c selinux: sparse fix: fix warnings in netlink code 2012-01-05 18:52:51 -05:00
selinuxfs.c selinux: sparse fix: fix warnings in netlink code 2012-01-05 18:52:51 -05:00
xfrm.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00