]> Pileus Git - ~andy/linux/commitdiff
vfs: make gcc generate more obvious code for acl permission checking
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 02:55:52 +0000 (19:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 02:55:52 +0000 (19:55 -0700)
The "fsuid is the inode owner" case is not necessarily always the likely
case, but it's the case that doesn't do anything odd and that we want in
straight-line code.  Make gcc not generate random "jump around for the
fun of it" code.

This just helps me read profiles.  That thing is one of the hottest
parts of the whole pathname lookup.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/namei.c

index ec2e5656b444038e57e37e44ad491b8511c7df19..ef00b984fb20fe4dbbb023d927b93afdd3839905 100644 (file)
@@ -235,7 +235,7 @@ static int acl_permission_check(struct inode *inode, int mask)
        if (current_user_ns() != inode_userns(inode))
                goto other_perms;
 
-       if (current_fsuid() == inode->i_uid)
+       if (likely(current_fsuid() == inode->i_uid))
                mode >>= 6;
        else {
                if (IS_POSIXACL(inode) && (mode & S_IRWXG)) {