From: Eric Dumazet <dada1@cosmosbay.com> To: Ingo Molnar <mingo@elte.hu> Cc: David Miller <davem@davemloft.net>, "Rafael J. Wysocki" <rjw@sisk.pl>, linux-kernel@vger.kernel.org, kernel-testers@vger.kernel.org, Mike Galbraith <efault@gmx.de>, Peter Zijlstra <a.p.zijlstra@chello.nl>, Linux Netdev List <netdev@vger.kernel.org>, Christoph Lameter <cl@linux-foundation.org>, Christoph Hellwig <hch@infradead.org> Subject: [PATCH 5/6] fs: Introduce special inodes Date: Thu, 27 Nov 2008 00:32:41 +0100 [thread overview] Message-ID: <492DDC99.5060106@cosmosbay.com> (raw) In-Reply-To: <20081121153453.GA23713@elte.hu> [-- Attachment #1: Type: text/plain, Size: 995 bytes --] Goal of this patch is to not touch inode_lock for socket/pipes/anonfd inodes allocation/freeing. In new_inode(), we test if super block has MS_SPECIAL flag set. If yes, we dont put inode in "inode_in_use" list nor "sb->s_inodes" list As inode_lock was taken only to protect these lists, we avoid it as well Using iput_special() from dput_special() avoids taking inode_lock at freeing time. This patch has a very noticeable effect, because we avoid dirtying of three contended cache lines in new_inode(), and five cache lines in iput() Note: Not sure if we can use MS_SPECIAL=MS_NOUSER, or if we really need a different flag. (socket8 bench result : from 20.5s to 2.94s) Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> --- fs/anon_inodes.c | 1 + fs/dcache.c | 2 +- fs/inode.c | 25 ++++++++++++++++++------- fs/pipe.c | 3 ++- include/linux/fs.h | 2 ++ net/socket.c | 1 + 6 files changed, 25 insertions(+), 9 deletions(-) [-- Attachment #2: special_inodes.patch --] [-- Type: text/plain, Size: 3551 bytes --] diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index 4f20d48..a0212b3 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c @@ -158,6 +158,7 @@ static int __init anon_inode_init(void) error = PTR_ERR(anon_inode_mnt); goto err_unregister_filesystem; } + anon_inode_mnt->mnt_sb->s_flags |= MS_SPECIAL; anon_inode_inode = anon_inode_mkinode(); if (IS_ERR(anon_inode_inode)) { error = PTR_ERR(anon_inode_inode); diff --git a/fs/dcache.c b/fs/dcache.c index d73763b..bade7d7 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -239,7 +239,7 @@ static void dput_special(struct dentry *dentry) return; inode = dentry->d_inode; if (inode) - iput(inode); + iput_special(inode); d_free(dentry); } diff --git a/fs/inode.c b/fs/inode.c index 8d8d40e..1bb6553 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -228,6 +228,14 @@ void destroy_inode(struct inode *inode) kmem_cache_free(inode_cachep, (inode)); } +void iput_special(struct inode *inode) +{ + if (atomic_dec_and_test(&inode->i_count)) { + destroy_inode(inode); + get_cpu_var(nr_inodes)--; + put_cpu_var(nr_inodes); + } +} /* * These are initializations that only need to be done @@ -609,18 +617,21 @@ struct inode *new_inode(struct super_block *sb) */ struct inode * inode; - spin_lock_prefetch(&inode_lock); - inode = alloc_inode(sb); if (inode) { - spin_lock(&inode_lock); - list_add(&inode->i_list, &inode_in_use); - list_add(&inode->i_sb_list, &sb->s_inodes); + inode->i_state = 0; + if (sb->s_flags & MS_SPECIAL) { + INIT_LIST_HEAD(&inode->i_list); + INIT_LIST_HEAD(&inode->i_sb_list); + } else { + spin_lock(&inode_lock); + list_add(&inode->i_list, &inode_in_use); + list_add(&inode->i_sb_list, &sb->s_inodes); + spin_unlock(&inode_lock); + } get_cpu_var(nr_inodes)--; inode->i_ino = last_ino_get(); put_cpu_var(nr_inodes); - inode->i_state = 0; - spin_unlock(&inode_lock); } return inode; } diff --git a/fs/pipe.c b/fs/pipe.c index 5cc132a..6fca681 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -1078,7 +1078,8 @@ static int __init init_pipe_fs(void) if (IS_ERR(pipe_mnt)) { err = PTR_ERR(pipe_mnt); unregister_filesystem(&pipe_fs_type); - } + } else + pipe_mnt->mnt_sb->s_flags |= MS_SPECIAL; } return err; } diff --git a/include/linux/fs.h b/include/linux/fs.h index 2482977..dd0e8a5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -136,6 +136,7 @@ extern int dir_notify_enable; #define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */ #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ #define MS_I_VERSION (1<<23) /* Update inode I_version field */ +#define MS_SPECIAL (1<<24) /* special fs (inodes not in sb->s_inodes) */ #define MS_ACTIVE (1<<30) #define MS_NOUSER (1<<31) @@ -1898,6 +1899,7 @@ extern void __iget(struct inode * inode); extern void iget_failed(struct inode *); extern void clear_inode(struct inode *); extern void destroy_inode(struct inode *); +extern void iput_special(struct inode *inode); extern struct inode *new_inode(struct super_block *); extern int should_remove_suid(struct dentry *); extern int file_remove_suid(struct file *); diff --git a/net/socket.c b/net/socket.c index f41b6c6..4177456 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2205,6 +2205,7 @@ static int __init sock_init(void) init_inodecache(); register_filesystem(&sock_fs_type); sock_mnt = kern_mount(&sock_fs_type); + sock_mnt->mnt_sb->s_flags |= MS_SPECIAL; /* The real protocol initialization is performed in later initcalls. */
WARNING: multiple messages have this Message-ID (diff)
From: Eric Dumazet <dada1-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org> To: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org> Cc: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>, "Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Mike Galbraith <efault-Mmb7MZpHnFY@public.gmane.org>, Peter Zijlstra <a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org>, Linux Netdev List <netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Christoph Lameter <cl-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>, Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> Subject: [PATCH 5/6] fs: Introduce special inodes Date: Thu, 27 Nov 2008 00:32:41 +0100 [thread overview] Message-ID: <492DDC99.5060106@cosmosbay.com> (raw) In-Reply-To: <20081121153453.GA23713-X9Un+BFzKDI@public.gmane.org> [-- Attachment #1: Type: text/plain, Size: 1021 bytes --] Goal of this patch is to not touch inode_lock for socket/pipes/anonfd inodes allocation/freeing. In new_inode(), we test if super block has MS_SPECIAL flag set. If yes, we dont put inode in "inode_in_use" list nor "sb->s_inodes" list As inode_lock was taken only to protect these lists, we avoid it as well Using iput_special() from dput_special() avoids taking inode_lock at freeing time. This patch has a very noticeable effect, because we avoid dirtying of three contended cache lines in new_inode(), and five cache lines in iput() Note: Not sure if we can use MS_SPECIAL=MS_NOUSER, or if we really need a different flag. (socket8 bench result : from 20.5s to 2.94s) Signed-off-by: Eric Dumazet <dada1-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org> --- fs/anon_inodes.c | 1 + fs/dcache.c | 2 +- fs/inode.c | 25 ++++++++++++++++++------- fs/pipe.c | 3 ++- include/linux/fs.h | 2 ++ net/socket.c | 1 + 6 files changed, 25 insertions(+), 9 deletions(-) [-- Attachment #2: special_inodes.patch --] [-- Type: text/plain, Size: 3551 bytes --] diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c index 4f20d48..a0212b3 100644 --- a/fs/anon_inodes.c +++ b/fs/anon_inodes.c @@ -158,6 +158,7 @@ static int __init anon_inode_init(void) error = PTR_ERR(anon_inode_mnt); goto err_unregister_filesystem; } + anon_inode_mnt->mnt_sb->s_flags |= MS_SPECIAL; anon_inode_inode = anon_inode_mkinode(); if (IS_ERR(anon_inode_inode)) { error = PTR_ERR(anon_inode_inode); diff --git a/fs/dcache.c b/fs/dcache.c index d73763b..bade7d7 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -239,7 +239,7 @@ static void dput_special(struct dentry *dentry) return; inode = dentry->d_inode; if (inode) - iput(inode); + iput_special(inode); d_free(dentry); } diff --git a/fs/inode.c b/fs/inode.c index 8d8d40e..1bb6553 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -228,6 +228,14 @@ void destroy_inode(struct inode *inode) kmem_cache_free(inode_cachep, (inode)); } +void iput_special(struct inode *inode) +{ + if (atomic_dec_and_test(&inode->i_count)) { + destroy_inode(inode); + get_cpu_var(nr_inodes)--; + put_cpu_var(nr_inodes); + } +} /* * These are initializations that only need to be done @@ -609,18 +617,21 @@ struct inode *new_inode(struct super_block *sb) */ struct inode * inode; - spin_lock_prefetch(&inode_lock); - inode = alloc_inode(sb); if (inode) { - spin_lock(&inode_lock); - list_add(&inode->i_list, &inode_in_use); - list_add(&inode->i_sb_list, &sb->s_inodes); + inode->i_state = 0; + if (sb->s_flags & MS_SPECIAL) { + INIT_LIST_HEAD(&inode->i_list); + INIT_LIST_HEAD(&inode->i_sb_list); + } else { + spin_lock(&inode_lock); + list_add(&inode->i_list, &inode_in_use); + list_add(&inode->i_sb_list, &sb->s_inodes); + spin_unlock(&inode_lock); + } get_cpu_var(nr_inodes)--; inode->i_ino = last_ino_get(); put_cpu_var(nr_inodes); - inode->i_state = 0; - spin_unlock(&inode_lock); } return inode; } diff --git a/fs/pipe.c b/fs/pipe.c index 5cc132a..6fca681 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -1078,7 +1078,8 @@ static int __init init_pipe_fs(void) if (IS_ERR(pipe_mnt)) { err = PTR_ERR(pipe_mnt); unregister_filesystem(&pipe_fs_type); - } + } else + pipe_mnt->mnt_sb->s_flags |= MS_SPECIAL; } return err; } diff --git a/include/linux/fs.h b/include/linux/fs.h index 2482977..dd0e8a5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -136,6 +136,7 @@ extern int dir_notify_enable; #define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */ #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ #define MS_I_VERSION (1<<23) /* Update inode I_version field */ +#define MS_SPECIAL (1<<24) /* special fs (inodes not in sb->s_inodes) */ #define MS_ACTIVE (1<<30) #define MS_NOUSER (1<<31) @@ -1898,6 +1899,7 @@ extern void __iget(struct inode * inode); extern void iget_failed(struct inode *); extern void clear_inode(struct inode *); extern void destroy_inode(struct inode *); +extern void iput_special(struct inode *inode); extern struct inode *new_inode(struct super_block *); extern int should_remove_suid(struct dentry *); extern int file_remove_suid(struct file *); diff --git a/net/socket.c b/net/socket.c index f41b6c6..4177456 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2205,6 +2205,7 @@ static int __init sock_init(void) init_inodecache(); register_filesystem(&sock_fs_type); sock_mnt = kern_mount(&sock_fs_type); + sock_mnt->mnt_sb->s_flags |= MS_SPECIAL; /* The real protocol initialization is performed in later initcalls. */
next prev parent reply other threads:[~2008-11-26 23:34 UTC|newest] Thread overview: 349+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-11-16 17:38 2.6.28-rc5: Reported regressions 2.6.26 -> 2.6.27 Rafael J. Wysocki 2008-11-16 17:38 ` Rafael J. Wysocki 2008-11-16 17:38 ` [Bug #11207] VolanoMark regression with 2.6.27-rc1 Rafael J. Wysocki 2008-11-16 17:38 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11215] INFO: possible recursive locking detected ps2_command Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28 Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-17 9:06 ` Ingo Molnar 2008-11-17 9:06 ` Ingo Molnar 2008-11-17 9:14 ` David Miller 2008-11-17 9:14 ` David Miller 2008-11-17 11:01 ` Ingo Molnar 2008-11-17 11:01 ` Ingo Molnar 2008-11-17 11:20 ` Eric Dumazet 2008-11-17 16:11 ` Ingo Molnar 2008-11-17 16:11 ` Ingo Molnar 2008-11-17 16:35 ` Eric Dumazet 2008-11-17 16:35 ` Eric Dumazet 2008-11-17 17:08 ` Ingo Molnar 2008-11-17 17:08 ` Ingo Molnar 2008-11-17 17:25 ` Ingo Molnar 2008-11-17 17:25 ` Ingo Molnar 2008-11-17 17:33 ` Eric Dumazet 2008-11-17 17:33 ` Eric Dumazet 2008-11-17 17:38 ` Linus Torvalds 2008-11-17 17:38 ` Linus Torvalds 2008-11-17 17:42 ` Eric Dumazet 2008-11-17 17:42 ` Eric Dumazet 2008-11-17 18:23 ` Ingo Molnar 2008-11-17 18:23 ` Ingo Molnar 2008-11-17 18:33 ` Linus Torvalds 2008-11-17 18:33 ` Linus Torvalds 2008-11-17 18:49 ` Ingo Molnar 2008-11-17 18:49 ` Ingo Molnar 2008-11-17 19:30 ` Eric Dumazet 2008-11-17 19:30 ` Eric Dumazet 2008-11-17 19:39 ` David Miller 2008-11-17 19:39 ` David Miller 2008-11-17 19:43 ` Eric Dumazet 2008-11-17 19:43 ` Eric Dumazet 2008-11-17 19:55 ` Linus Torvalds 2008-11-17 19:55 ` Linus Torvalds 2008-11-17 20:16 ` David Miller 2008-11-17 20:16 ` David Miller 2008-11-17 20:30 ` Linus Torvalds 2008-11-17 20:30 ` Linus Torvalds 2008-11-17 20:58 ` David Miller 2008-11-17 20:58 ` David Miller 2008-11-18 9:44 ` Nick Piggin 2008-11-18 9:44 ` Nick Piggin 2008-11-18 15:58 ` Linus Torvalds 2008-11-18 15:58 ` Linus Torvalds 2008-11-19 4:31 ` Nick Piggin 2008-11-20 9:14 ` David Miller 2008-11-20 9:14 ` David Miller 2008-11-20 9:06 ` David Miller 2008-11-20 9:06 ` David Miller 2008-11-18 12:29 ` Mike Galbraith 2008-11-18 12:29 ` Mike Galbraith 2008-11-17 19:57 ` Ingo Molnar 2008-11-17 19:57 ` Ingo Molnar 2008-11-17 20:20 ` (avc_has_perm_noaudit()) " Ingo Molnar 2008-11-17 20:20 ` Ingo Molnar 2008-11-17 20:32 ` ip_queue_xmit(): " Ingo Molnar 2008-11-17 20:32 ` Ingo Molnar 2008-11-17 20:57 ` Eric Dumazet 2008-11-17 20:57 ` Eric Dumazet 2008-11-18 9:12 ` Nick Piggin 2008-11-17 20:47 ` Ingo Molnar 2008-11-17 20:47 ` Ingo Molnar 2008-11-17 20:56 ` Eric Dumazet 2008-11-17 20:56 ` Eric Dumazet 2008-11-17 20:55 ` skb_release_head_state(): " Ingo Molnar 2008-11-17 20:55 ` Ingo Molnar 2008-11-17 21:01 ` David Miller 2008-11-17 21:01 ` David Miller 2008-11-17 21:04 ` Eric Dumazet 2008-11-17 21:04 ` Eric Dumazet 2008-11-17 21:34 ` Linus Torvalds 2008-11-17 21:34 ` Linus Torvalds 2008-11-17 21:38 ` Ingo Molnar 2008-11-17 21:38 ` Ingo Molnar 2008-11-17 21:09 ` tcp_ack(): " Ingo Molnar 2008-11-17 21:09 ` Ingo Molnar 2008-11-17 21:19 ` tcp_recvmsg(): " Ingo Molnar 2008-11-17 21:19 ` Ingo Molnar 2008-11-17 21:26 ` eth_type_trans(): " Ingo Molnar 2008-11-17 21:26 ` Ingo Molnar 2008-11-17 21:40 ` Eric Dumazet 2008-11-17 21:40 ` Eric Dumazet 2008-11-17 23:41 ` Eric Dumazet 2008-11-17 23:41 ` Eric Dumazet 2008-11-18 0:01 ` Linus Torvalds 2008-11-18 0:01 ` Linus Torvalds 2008-11-18 8:35 ` Eric Dumazet 2008-11-17 21:52 ` Linus Torvalds 2008-11-17 21:52 ` Linus Torvalds 2008-11-18 5:16 ` David Miller 2008-11-18 5:16 ` David Miller 2008-11-18 5:35 ` Eric Dumazet 2008-11-18 7:00 ` David Miller 2008-11-18 7:00 ` David Miller 2008-11-18 8:30 ` Ingo Molnar 2008-11-18 8:30 ` Ingo Molnar 2008-11-18 8:49 ` Eric Dumazet 2008-11-18 8:49 ` Eric Dumazet 2008-11-17 21:35 ` __inet_lookup_established(): " Ingo Molnar 2008-11-17 21:35 ` Ingo Molnar 2008-11-17 22:14 ` Eric Dumazet 2008-11-17 22:14 ` Eric Dumazet 2008-11-17 21:59 ` system_call() - " Ingo Molnar 2008-11-17 21:59 ` Ingo Molnar 2008-11-17 22:09 ` Linus Torvalds 2008-11-17 22:09 ` Linus Torvalds 2008-11-17 22:08 ` Ingo Molnar 2008-11-17 22:15 ` Eric Dumazet 2008-11-17 22:15 ` Eric Dumazet 2008-11-17 22:26 ` Ingo Molnar 2008-11-17 22:26 ` Ingo Molnar 2008-11-17 22:39 ` Eric Dumazet 2008-11-17 22:39 ` Eric Dumazet 2008-11-18 5:23 ` David Miller 2008-11-18 5:23 ` David Miller 2008-11-18 8:45 ` Ingo Molnar 2008-11-18 8:45 ` Ingo Molnar 2008-11-17 22:14 ` tcp_transmit_skb() - " Ingo Molnar 2008-11-17 22:14 ` Ingo Molnar 2008-11-17 22:19 ` Ingo Molnar 2008-11-17 22:19 ` Ingo Molnar 2008-11-17 19:36 ` David Miller 2008-11-17 19:36 ` David Miller 2008-11-17 19:31 ` David Miller 2008-11-17 19:31 ` David Miller 2008-11-17 19:47 ` Linus Torvalds 2008-11-17 19:47 ` Linus Torvalds 2008-11-17 19:51 ` David Miller 2008-11-17 19:51 ` David Miller 2008-11-17 19:53 ` Ingo Molnar 2008-11-17 19:53 ` Ingo Molnar 2008-11-17 22:47 ` Ingo Molnar 2008-11-17 22:47 ` Ingo Molnar 2008-11-17 19:21 ` David Miller 2008-11-17 19:21 ` David Miller 2008-11-17 19:48 ` Linus Torvalds 2008-11-17 19:48 ` Linus Torvalds 2008-11-17 19:52 ` David Miller 2008-11-17 19:52 ` David Miller 2008-11-17 19:57 ` Linus Torvalds 2008-11-17 19:57 ` Linus Torvalds 2008-11-17 20:18 ` David Miller 2008-11-17 20:18 ` David Miller 2008-11-19 19:43 ` Christoph Lameter 2008-11-19 19:43 ` Christoph Lameter 2008-11-19 20:14 ` Ingo Molnar 2008-11-19 20:14 ` Ingo Molnar 2008-11-20 23:52 ` Christoph Lameter 2008-11-20 23:52 ` Christoph Lameter 2008-11-21 8:30 ` Ingo Molnar 2008-11-21 8:30 ` Ingo Molnar 2008-11-21 8:51 ` Eric Dumazet 2008-11-21 8:51 ` Eric Dumazet 2008-11-21 9:05 ` David Miller 2008-11-21 9:05 ` David Miller 2008-11-21 12:51 ` Eric Dumazet 2008-11-21 12:51 ` Eric Dumazet 2008-11-21 15:13 ` [PATCH] fs: pipe/sockets/anon dentries should not have a parent Eric Dumazet 2008-11-21 15:13 ` Eric Dumazet 2008-11-21 15:21 ` Ingo Molnar 2008-11-21 15:21 ` Ingo Molnar 2008-11-21 15:28 ` Eric Dumazet 2008-11-21 15:28 ` Eric Dumazet 2008-11-21 15:34 ` Ingo Molnar 2008-11-21 15:34 ` Ingo Molnar 2008-11-26 23:27 ` [PATCH 0/6] fs: Scalability of sockets/pipes allocation/deallocation on SMP Eric Dumazet 2008-11-27 1:37 ` Christoph Lameter 2008-11-27 1:37 ` Christoph Lameter 2008-11-27 6:27 ` Eric Dumazet 2008-11-27 6:27 ` Eric Dumazet 2008-11-27 14:44 ` Christoph Lameter 2008-11-27 14:44 ` Christoph Lameter 2008-11-27 9:39 ` Christoph Hellwig 2008-11-28 18:03 ` Ingo Molnar 2008-11-28 18:47 ` Peter Zijlstra 2008-11-28 18:47 ` Peter Zijlstra 2008-11-29 6:38 ` Christoph Hellwig 2008-11-29 6:38 ` Christoph Hellwig 2008-11-29 8:07 ` Eric Dumazet 2008-11-29 8:07 ` Eric Dumazet 2008-11-29 8:43 ` [PATCH v2 0/5] " Eric Dumazet 2008-11-29 8:43 ` Eric Dumazet 2008-12-11 22:38 ` [PATCH v3 0/7] " Eric Dumazet 2008-12-11 22:38 ` Eric Dumazet 2008-12-11 22:38 ` [PATCH v3 1/7] fs: Use a percpu_counter to track nr_dentry Eric Dumazet 2008-12-11 22:38 ` Eric Dumazet 2007-07-24 1:24 ` Nick Piggin 2007-07-24 1:24 ` Nick Piggin 2008-12-16 21:04 ` Paul E. McKenney 2008-12-16 21:04 ` Paul E. McKenney 2008-12-11 22:39 ` [PATCH v3 2/7] fs: Use a percpu_counter to track nr_inodes Eric Dumazet 2008-12-11 22:39 ` Eric Dumazet 2007-07-24 1:30 ` Nick Piggin 2007-07-24 1:30 ` Nick Piggin 2008-12-12 5:11 ` Eric Dumazet 2008-12-12 5:11 ` Eric Dumazet 2008-12-16 21:10 ` Paul E. McKenney 2008-12-16 21:10 ` Paul E. McKenney 2008-12-11 22:39 ` [PATCH v3 3/7] fs: Introduce a per_cpu last_ino allocator Eric Dumazet 2008-12-11 22:39 ` Eric Dumazet 2007-07-24 1:34 ` Nick Piggin 2007-07-24 1:34 ` Nick Piggin 2008-12-16 21:26 ` Paul E. McKenney 2008-12-16 21:26 ` Paul E. McKenney 2008-12-11 22:39 ` [PATCH v3 4/7] fs: Introduce SINGLE dentries for pipes, socket, anon fd Eric Dumazet 2008-12-11 22:39 ` Eric Dumazet 2008-12-16 21:40 ` Paul E. McKenney 2008-12-16 21:40 ` Paul E. McKenney 2008-12-11 22:40 ` [PATCH v3 5/7] fs: new_inode_single() and iput_single() Eric Dumazet 2008-12-11 22:40 ` Eric Dumazet 2008-12-16 21:41 ` Paul E. McKenney 2008-12-16 21:41 ` Paul E. McKenney 2008-12-11 22:40 ` [PATCH v3 6/7] fs: struct file move from call_rcu() to SLAB_DESTROY_BY_RCU Eric Dumazet 2008-12-11 22:40 ` Eric Dumazet 2007-07-24 1:13 ` Nick Piggin 2007-07-24 1:13 ` Nick Piggin 2007-07-24 1:13 ` Nick Piggin 2008-12-12 2:50 ` Nick Piggin 2008-12-12 2:50 ` Nick Piggin 2008-12-12 4:45 ` Eric Dumazet 2008-12-12 4:45 ` Eric Dumazet 2008-12-12 16:48 ` Eric Dumazet 2008-12-12 16:48 ` Eric Dumazet 2008-12-13 2:07 ` Christoph Lameter 2008-12-13 2:07 ` Christoph Lameter 2008-12-17 20:25 ` Eric Dumazet 2008-12-17 20:25 ` Eric Dumazet 2008-12-13 1:41 ` Christoph Lameter 2008-12-13 1:41 ` Christoph Lameter 2008-12-11 22:41 ` [PATCH v3 7/7] fs: MS_NOREFCOUNT Eric Dumazet 2008-12-11 22:41 ` Eric Dumazet 2008-11-29 8:43 ` [PATCH v2 1/5] fs: Use a percpu_counter to track nr_dentry Eric Dumazet 2008-11-29 8:43 ` Eric Dumazet 2008-11-29 8:43 ` [PATCH v2 2/5] fs: Use a percpu_counter to track nr_inodes Eric Dumazet 2008-11-29 8:43 ` Eric Dumazet 2008-11-29 8:44 ` [PATCH v2 3/5] fs: Introduce a per_cpu last_ino allocator Eric Dumazet 2008-11-29 8:44 ` Eric Dumazet 2008-11-29 8:44 ` [PATCH v2 4/5] fs: Introduce SINGLE dentries for pipes, socket, anon fd Eric Dumazet 2008-11-29 8:44 ` Eric Dumazet 2008-11-29 10:38 ` Jörn Engel 2008-11-29 10:38 ` Jörn Engel 2008-11-29 10:38 ` Jörn Engel 2008-11-29 11:14 ` Eric Dumazet 2008-11-29 11:14 ` Eric Dumazet 2008-11-29 8:45 ` [PATCH v2 5/5] fs: new_inode_single() and iput_single() Eric Dumazet 2008-11-29 8:45 ` Eric Dumazet 2008-11-29 11:14 ` Jörn Engel 2008-11-29 11:14 ` Jörn Engel 2008-11-29 11:14 ` Jörn Engel 2008-11-26 23:30 ` [PATCH 1/6] fs: Introduce a per_cpu nr_dentry Eric Dumazet 2008-11-26 23:30 ` Eric Dumazet 2008-11-27 9:41 ` Christoph Hellwig 2008-11-27 9:41 ` Christoph Hellwig 2008-11-26 23:32 ` [PATCH 3/6] fs: Introduce a per_cpu last_ino allocator Eric Dumazet 2008-11-27 9:46 ` Christoph Hellwig 2008-11-27 9:46 ` Christoph Hellwig 2008-11-26 23:32 ` [PATCH 4/6] fs: Introduce a per_cpu nr_inodes Eric Dumazet 2008-11-26 23:32 ` Eric Dumazet 2008-11-27 9:32 ` Peter Zijlstra 2008-11-27 9:39 ` Peter Zijlstra 2008-11-27 9:39 ` Peter Zijlstra 2008-11-27 9:48 ` Christoph Hellwig 2008-11-27 10:01 ` Eric Dumazet 2008-11-27 10:01 ` Eric Dumazet 2008-11-27 10:07 ` Andi Kleen 2008-11-27 14:46 ` Christoph Lameter 2008-11-26 23:32 ` Eric Dumazet [this message] 2008-11-26 23:32 ` [PATCH 5/6] fs: Introduce special inodes Eric Dumazet 2008-11-27 8:20 ` David Miller 2008-11-27 8:20 ` David Miller 2008-11-26 23:32 ` [PATCH 6/6] fs: Introduce kern_mount_special() to mount special vfs Eric Dumazet 2008-11-27 8:21 ` David Miller 2008-11-27 8:21 ` David Miller 2008-11-27 9:53 ` Christoph Hellwig 2008-11-27 10:04 ` Eric Dumazet 2008-11-27 10:04 ` Eric Dumazet 2008-11-27 10:10 ` Christoph Hellwig 2008-11-27 10:10 ` Christoph Hellwig 2008-11-28 9:26 ` Al Viro 2008-11-28 9:26 ` Al Viro 2008-11-28 9:34 ` Al Viro 2008-11-28 9:34 ` Al Viro 2008-11-28 18:02 ` Ingo Molnar 2008-11-28 18:02 ` Ingo Molnar 2008-11-28 18:58 ` Ingo Molnar 2008-11-28 22:20 ` Eric Dumazet 2008-11-28 22:20 ` Eric Dumazet 2008-11-28 22:37 ` Eric Dumazet 2008-11-28 22:43 ` Eric Dumazet 2008-11-21 15:36 ` [PATCH] fs: pipe/sockets/anon dentries should not have a parent Christoph Hellwig 2008-11-21 17:58 ` [PATCH] fs: pipe/sockets/anon dentries should have themselves as parent Eric Dumazet 2008-11-21 18:43 ` Matthew Wilcox 2008-11-21 18:43 ` Matthew Wilcox 2008-11-23 3:53 ` Eric Dumazet 2008-11-21 9:18 ` [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28 Ingo Molnar 2008-11-21 9:18 ` Ingo Molnar 2008-11-21 9:03 ` David Miller 2008-11-21 9:03 ` David Miller 2008-11-21 16:11 ` Christoph Lameter 2008-11-21 16:11 ` Christoph Lameter 2008-11-21 18:06 ` Christoph Lameter 2008-11-21 18:06 ` Christoph Lameter 2008-11-21 18:16 ` Eric Dumazet 2008-11-21 18:16 ` Eric Dumazet 2008-11-21 18:19 ` Eric Dumazet 2008-11-21 18:19 ` Eric Dumazet 2008-11-16 17:40 ` [Bug #11664] acpi errors and random freeze on sony vaio sr Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11698] 2.6.27-rc7, freezes with > 1 s2ram cycle Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11404] BUG: in 2.6.23-rc3-git7 in do_cciss_intr Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-17 16:19 ` Randy Dunlap 2008-11-16 17:40 ` [Bug #11569] Panic stop CPUs regression Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11543] kernel panic: softlockup in tick_periodic() ??? Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11836] Scheduler on C2D CPU and latest 2.6.27 kernel Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11805] mounting XFS produces a segfault Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-17 14:44 ` Christoph Hellwig 2008-11-17 14:44 ` Christoph Hellwig 2008-11-16 17:40 ` [Bug #11795] ks959-sir dongle no longer works under 2.6.27 (REGRESSION) Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11865] WOL for E100 Doesn't Work Anymore Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11843] usb hdd problems with 2.6.27.2 Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 21:37 ` Luciano Rocha 2008-11-16 17:40 ` [Bug #11876] RCU hang on cpu re-hotplug with 2.6.27rc8 Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:40 ` [Bug #11886] without serial console system doesn't poweroff Rafael J. Wysocki 2008-11-16 17:40 ` Rafael J. Wysocki 2008-11-16 17:41 ` [Bug #12039] Regression: USB/DVB 2.6.26.8 --> 2.6.27.6 Rafael J. Wysocki 2008-11-16 17:41 ` Rafael J. Wysocki 2008-11-16 17:41 ` [Bug #11983] iwlagn: wrong command queue 31, command id 0x0 Rafael J. Wysocki 2008-11-16 17:41 ` Rafael J. Wysocki 2008-11-16 17:41 ` [Bug #12048] Regression in bonding between 2.6.26.8 and 2.6.27.6 Rafael J. Wysocki 2008-11-16 17:41 ` Rafael J. Wysocki
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=492DDC99.5060106@cosmosbay.com \ --to=dada1@cosmosbay.com \ --cc=a.p.zijlstra@chello.nl \ --cc=cl@linux-foundation.org \ --cc=davem@davemloft.net \ --cc=efault@gmx.de \ --cc=hch@infradead.org \ --cc=kernel-testers@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@elte.hu \ --cc=netdev@vger.kernel.org \ --cc=rjw@sisk.pl \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.