Re: [PATCH 04/27] ext2: Add ext2_sb_info mutex

Andi Kleen
2009-11-02T10:26:54Z

> @@ -762,6 +767,12 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
> sbi->s_sb_block = sb_block;
>
> /*
> + * mutex for protection of modifications of the superblock while being
> + * write out by ext2_write_super() or ext2_sync_fs().
> + */
> + mutex_init(&sbi->s_mutex);

I didn't go over all the code paths in detail, but if you replace
the BKL with a mutex that is hold over a longer write-out sleep
period you potentially limit IO parallelism a lot.

In this case since the BKL didn't protect over the sleep anyways it might
be reasonable to drop it during the IO operation (and possibly if
you're sure nothing else sleeps use a spin lock)

-Andi