summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-22 17:01:41 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-22 17:01:41 -0700
commit48aab2f79dfc1357c48ce22ff5c989b52a590069 (patch)
tree7f690fe147bccc24b7a017845dbe9a99d7978b5f /fs
parentf7493e5d9cc10ac97cf1f1579fdc14117460b40b (diff)
downloadlinux-3.10-48aab2f79dfc1357c48ce22ff5c989b52a590069.tar.gz
linux-3.10-48aab2f79dfc1357c48ce22ff5c989b52a590069.tar.bz2
linux-3.10-48aab2f79dfc1357c48ce22ff5c989b52a590069.zip
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>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions