Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-25 Thread Dave Chinner
On Tue, Sep 25, 2012 at 04:59:55PM +0800, Guo Chao wrote: > On Mon, Sep 24, 2012 at 06:26:54PM +1000, Dave Chinner wrote: > > @@ -783,14 +783,19 @@ static void __wait_on_freeing_inode(struct inode > > *inode); > > static struct inode *find_inode(struct super_block *sb, > >

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-25 Thread Guo Chao
On Mon, Sep 24, 2012 at 06:26:54PM +1000, Dave Chinner wrote: > @@ -783,14 +783,19 @@ static void __wait_on_freeing_inode(struct inode > *inode); > static struct inode *find_inode(struct super_block *sb, > struct hlist_head *head, > int

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-24 Thread Dave Chinner
On Mon, Sep 24, 2012 at 03:08:52PM +0800, Guo Chao wrote: > On Mon, Sep 24, 2012 at 04:28:12PM +1000, Dave Chinner wrote: > > > Ah, this is intended to be a code clean patchset actually. I thought these > > > locks are redundant in an obvious and trivial manner. If, on the > > > contrary, > > > t

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-24 Thread Guo Chao
On Mon, Sep 24, 2012 at 04:28:12PM +1000, Dave Chinner wrote: > On Mon, Sep 24, 2012 at 02:12:05PM +0800, Guo Chao wrote: > > On Mon, Sep 24, 2012 at 02:23:43PM +1000, Dave Chinner wrote: > > > On Mon, Sep 24, 2012 at 10:42:21AM +0800, Guo Chao wrote: > > > > On Sat, Sep 22, 2012 at 08:49:12AM +100

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-23 Thread Dave Chinner
On Mon, Sep 24, 2012 at 02:12:05PM +0800, Guo Chao wrote: > On Mon, Sep 24, 2012 at 02:23:43PM +1000, Dave Chinner wrote: > > On Mon, Sep 24, 2012 at 10:42:21AM +0800, Guo Chao wrote: > > > On Sat, Sep 22, 2012 at 08:49:12AM +1000, Dave Chinner wrote: > > > > > > > On Fri, Sep 21, 2012 at 05:31:02

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-23 Thread Guo Chao
On Mon, Sep 24, 2012 at 02:23:43PM +1000, Dave Chinner wrote: > On Mon, Sep 24, 2012 at 10:42:21AM +0800, Guo Chao wrote: > > On Sat, Sep 22, 2012 at 08:49:12AM +1000, Dave Chinner wrote: > > > > > On Fri, Sep 21, 2012 at 05:31:02PM +0800, Guo Chao wrote: > > > > This patchset optimizes several pl

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-23 Thread Dave Chinner
On Mon, Sep 24, 2012 at 10:42:21AM +0800, Guo Chao wrote: > On Sat, Sep 22, 2012 at 08:49:12AM +1000, Dave Chinner wrote: > > > On Fri, Sep 21, 2012 at 05:31:02PM +0800, Guo Chao wrote: > > > This patchset optimizes several places which take the per inode spin lock. > > > They have not been fully

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-23 Thread Guo Chao
On Sat, Sep 22, 2012 at 08:49:12AM +1000, Dave Chinner wrote: > On Fri, Sep 21, 2012 at 05:31:02PM +0800, Guo Chao wrote: > > This patchset optimizes several places which take the per inode spin lock. > > They have not been fully tested yet, thus they are marked as RFC. > > Inodes are RCU freed.

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-21 Thread Dave Chinner
On Fri, Sep 21, 2012 at 05:31:02PM +0800, Guo Chao wrote: > This patchset optimizes several places which take the per inode spin lock. > They have not been fully tested yet, thus they are marked as RFC. Inodes are RCU freed. The i_lock spinlock on the i_state field forms part of the memory barrie

Re: [RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-21 Thread Matthew Wilcox
On Fri, Sep 21, 2012 at 05:31:02PM +0800, Guo Chao wrote: > This patchset optimizes several places which take the per inode spin lock. > They have not been fully tested yet, thus they are marked as RFC. > > I do limited tests after all patches applied: use two 'find' to traverse the > filesystem

[RFC v4 Patch 0/4] fs/inode.c: optimization for inode lock usage

2012-09-21 Thread Guo Chao
This patchset optimizes several places which take the per inode spin lock. They have not been fully tested yet, thus they are marked as RFC. I do limited tests after all patches applied: use two 'find' to traverse the filesystems and touch all files in parallel. This runs for several days in a