Re: 2.6.12-rc2 + rc3: reaim with ext3 - system stalls.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> --=-LBuZsEP+un6vb/N1S6Yo
> Content-Type: text/plain
> Content-Transfer-Encoding: 7bit
> 
> On Tue, 2005-05-03 at 07:43, Jan Kara wrote:
> >   Hello,
> > 
> > > Started seeing some odd behaviour with recent kernels, haven't been able 
> to
> > > run it down, could use some suggestions/help.
> > > 
> > > Running re-aim7 with 2.6.12-rc2 and rc3, if I use xfs, jfs, or
> > > reiserfs things work just fine.
> > > 
> > > With ext3, the  test stalls, such that:
> > > CPU is 50% idle, 50% waiting IO (top)
> > > vmstat shows one process blocked wio
> >   I've looked through your dumps and I spotted where is the problem -
> > it's our well known and beloved lock inversion between PageLock and
> > transaction start (giving CC to Badari who's the author of the patch
> > that introduced it AFAIK).
> 
> Yuck. It definitely not intentional.
> 
> >   The correct order is: first get PageLock and *then* start transaction.
> > But in ext3_writeback_writepages() first ext3_journal_start() is called
> > and then __mpage_writepages is called that tries to do LockPage and
> > deadlock is there. Badari, could you please fix that (sadly I think that
> > would not be easy)? Maybe we should back out those changes until it gets
> > fixed...
> 
> Hmm.. let me take a closer look. You are right, its not going to be
> simple fix.
> 
> Cliff, here is the patch to backout writepages() for ext3. Can you
> verify that problems goes away with this patch ?
> 
I can now verify that the problem is not there with Badari's no-writepages
patch  - all the runs last night completed, performance is about what it was
for 2.6.12-rc1.
cliffw


> Thanks,
> Badari
> 
> --=-LBuZsEP+un6vb/N1S6Yo
> Content-Disposition: attachment; filename=ext3-writeback-nowritepages.patch
> Content-Type: text/plain; name=ext3-writeback-nowritepages.patch; charset=UTF
> -8
> Content-Transfer-Encoding: 7bit
> 
> --- linux-2.6.12-rc3.org/fs/ext3/inode.c	2005-05-02 22:28:30.000000000 -
> 0700
> +++ linux-2.6.12-rc3/fs/ext3/inode.c	2005-05-02 22:29:00.000000000 -0700
> @@ -1621,7 +1621,9 @@ static struct address_space_operations e
>  	.readpage	= ext3_readpage,
>  	.readpages	= ext3_readpages,
>  	.writepage	= ext3_writeback_writepage,
> +#if 0
>  	.writepages	= ext3_writeback_writepages,
> +#endif
>  	.sync_page	= block_sync_page,
>  	.prepare_write	= ext3_prepare_write,
>  	.commit_write	= ext3_writeback_commit_write,
> 
> --=-LBuZsEP+un6vb/N1S6Yo--
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux