Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-08 Thread hui
On Thu, Feb 08, 2007 at 11:14:04PM -0800, Bill Huey wrote: > I have an adaptive lock implementation in my tree that eliminates > the contention between what looks like the IDE layer, work queues and > the anticipatory scheduler, but that's not a real problem unlike what > I've mentioned above. I ca

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-08 Thread hui
On Thu, Feb 08, 2007 at 01:01:21AM -0800, Bill Huey wrote: > Christoph, > > The i_mutex lock the inode structure is also a source of contention > heavy when running a lot of parallel "find"s. I'm sure that folks > would be open to hearing suggestions regarding how to fix that. Christoph, And whi

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-08 Thread Jan Engelhardt
On Feb 7 2007 19:06, Christoph Hellwig wrote: >On Wed, Feb 07, 2007 at 07:03:05PM +0100, Jan Engelhardt wrote: > >> With filesystems that can turn on their quota after mount time (about >> every fs except xfs), I can surely have a ton of files open, and hence, >> if I understand correctly, have

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-08 Thread hui
On Tue, Feb 06, 2007 at 02:23:33PM +0100, Christoph Hellwig wrote: > Iterate over sb->s_inodes instead of sb->s_files in add_dquot_ref. > This reduces list search and lock hold time aswell as getting rid of > one of the few uses of file_list_lock which Ingo identified as a > scalability problem. C

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-07 Thread Christoph Hellwig
On Wed, Feb 07, 2007 at 07:03:05PM +0100, Jan Engelhardt wrote: > With filesystems that can turn on their quota after mount time (about > every fs except xfs), I can surely have a ton of files open, and hence, > if I understand correctly, have lots of inodes instantiated. Yes, you can in theory.

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-07 Thread Jan Engelhardt
On Feb 7 2007 08:22, Christoph Hellwig wrote: >> That loop has (and had) up to O(n^n) operations. Is there something which >> prevents this from going insane? > >I don't think so. Then again it's only called when you call quotaon on >a mounted filesystem, and normally you don't have that many i

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-07 Thread Jan Kara
On Tue 06-02-07 15:50:01, Andrew Morton wrote: > On Tue, 6 Feb 2007 14:23:33 +0100 > Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > > static void add_dquot_ref(struct super_block *sb, int type) > > { > > - struct list_head *p; > > + struct inode *inode; > > > > restart: > > - file_lis

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-06 Thread Christoph Hellwig
On Tue, Feb 06, 2007 at 03:50:01PM -0800, Andrew Morton wrote: > On Tue, 6 Feb 2007 14:23:33 +0100 > Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > > static void add_dquot_ref(struct super_block *sb, int type) > > { > > - struct list_head *p; > > + struct inode *inode; > > > > restart:

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-06 Thread Andrew Morton
On Tue, 6 Feb 2007 14:23:33 +0100 Christoph Hellwig <[EMAIL PROTECTED]> wrote: > static void add_dquot_ref(struct super_block *sb, int type) > { > - struct list_head *p; > + struct inode *inode; > > restart: > - file_list_lock(); > - list_for_each(p, &sb->s_files) { > -

Re: [PATCH] remove sb->s_files and file_list_lock usage in dquot.c

2007-02-06 Thread Jan Kara
On Tue 06-02-07 14:23:33, Christoph Hellwig wrote: > Iterate over sb->s_inodes instead of sb->s_files in add_dquot_ref. > This reduces list search and lock hold time aswell as getting rid of > one of the few uses of file_list_lock which Ingo identified as a > scalability problem. > > Previously we