This is a note to let you know that I've just added the patch titled

    vfs: Fix absolute RCU path walk failures due to uninitialized seq number

to the 2.6.38-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     
vfs-fix-absolute-rcu-path-walk-failures-due-to-uninitialized-seq-number.patch
and it can be found in the queue-2.6.38 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From c1530019e311c91d14b24d8e74d233152d806e45 Mon Sep 17 00:00:00 2001
From: Tim Chen <[email protected]>
Date: Fri, 15 Apr 2011 11:39:29 -0700
Subject: vfs: Fix absolute RCU path walk failures due to uninitialized seq 
number

From: Tim Chen <[email protected]>

commit c1530019e311c91d14b24d8e74d233152d806e45 upstream.

During RCU walk in path_lookupat and path_openat, the rcu lookup
frequently failed if looking up an absolute path, because when root
directory was looked up, seq number was not properly set in nameidata.

We dropped out of RCU walk in nameidata_drop_rcu due to mismatch in
directory entry's seq number.  We reverted to slow path walk that need
to take references.

With the following patch, I saw a 50% increase in an exim mail server
benchmark throughput on a 4-socket Nehalem-EX system.

Signed-off-by: Tim Chen <[email protected]>
Reviewed-by: Andi Kleen <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 fs/namei.c |    1 +
 1 file changed, 1 insertion(+)

--- a/fs/namei.c
+++ b/fs/namei.c
@@ -712,6 +712,7 @@ static __always_inline void set_root_rcu
                do {
                        seq = read_seqcount_begin(&fs->seq);
                        nd->root = fs->root;
+                       nd->seq = 
__read_seqcount_begin(&nd->root.dentry->d_seq);
                } while (read_seqcount_retry(&fs->seq, seq));
        }
 }


Patches currently in stable-queue which might be from 
[email protected] are

queue-2.6.38/vfs-fix-absolute-rcu-path-walk-failures-due-to-uninitialized-seq-number.patch

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to