2008-05-26 17:34:53

by Jan Kara

[permalink] [raw]
Subject: ext4 lock ordering patch

Hi Mingming,

I've noticed you removed the patch reversing locking order of page lock
and transaction start from ext4 patch queue. Was this because of that
reported performance problem or for some other reason? As far as I've
understood that problem has been just in the patch fixing the delalloc mode
part so just removing that patch would be enough AFAICT.
Anyway, the problem is I have now ordered mode rewrite for JBD2/ext4
which depends on this patch so the question is how to proceed... Should we
first fix that delalloc problem (are you looking into that?) or do we merge
all the changes and then fixup the delalloc code?

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR


2008-05-26 17:51:18

by Aneesh Kumar K.V

[permalink] [raw]
Subject: Re: ext4 lock ordering patch

On Mon, May 26, 2008 at 07:34:52PM +0200, Jan Kara wrote:
> Hi Mingming,
>
> I've noticed you removed the patch reversing locking order of page lock
> and transaction start from ext4 patch queue. Was this because of that
> reported performance problem or for some other reason? As far as I've
> understood that problem has been just in the patch fixing the delalloc mode
> part so just removing that patch would be enough AFAICT.
> Anyway, the problem is I have now ordered mode rewrite for JBD2/ext4
> which depends on this patch so the question is how to proceed... Should we
> first fix that delalloc problem (are you looking into that?) or do we merge
> all the changes and then fixup the delalloc code?
>
> Honza

That was due to delalloc interaction with locking order change patches.
I am right now testing some changes for delalloc. But I still have file
system hang with fsstress. So I haven't posted the latest changes yet.


-aneesh

2008-05-27 12:13:39

by Jan Kara

[permalink] [raw]
Subject: Re: ext4 lock ordering patch

On Mon 26-05-08 23:21:09, Aneesh Kumar K.V wrote:
> On Mon, May 26, 2008 at 07:34:52PM +0200, Jan Kara wrote:
> > Hi Mingming,
> >
> > I've noticed you removed the patch reversing locking order of page lock
> > and transaction start from ext4 patch queue. Was this because of that
> > reported performance problem or for some other reason? As far as I've
> > understood that problem has been just in the patch fixing the delalloc mode
> > part so just removing that patch would be enough AFAICT.
> > Anyway, the problem is I have now ordered mode rewrite for JBD2/ext4
> > which depends on this patch so the question is how to proceed... Should we
> > first fix that delalloc problem (are you looking into that?) or do we merge
> > all the changes and then fixup the delalloc code?
> >
> That was due to delalloc interaction with locking order change patches.
What kind of interaction do you mean? My patch actually didn't handle
delalloc at all - Mingming had a patch to workaround that.

> I am right now testing some changes for delalloc. But I still have file
> system hang with fsstress. So I haven't posted the latest changes yet.
OK and do these changes count with reversion of the locking order or
not? Because my feeling when I last looked at delalloc was that with the
lock-ordering reversed it would be better to do da_writepages() and similar
stuff differently...
Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2008-05-28 21:08:57

by Mingming Cao

[permalink] [raw]
Subject: Re: ext4 lock ordering patch

On Mon, 2008-05-26 at 19:34 +0200, Jan Kara wrote:
> Hi Mingming,
>
Hi Jan,

> I've noticed you removed the patch reversing locking order of page lock
> and transaction start from ext4 patch queue. Was this because of that
> reported performance problem or for some other reason? As far as I've
> understood that problem has been just in the patch fixing the delalloc mode
> part so just removing that patch would be enough AFAICT.

It was because of the reverse locking handling for delayed allocation.
But we can't just drop the patch fixing the locking order in delalloc
mode part only, we need to drop the whole delalloc or drop the whole
inverse locking patches.

> Anyway, the problem is I have now ordered mode rewrite for JBD2/ext4
> which depends on this patch so the question is how to proceed... Should we
> first fix that delalloc problem (are you looking into that?) or do we merge
> all the changes and then fixup the delalloc code?
>

Aneesh is close to getting lock reserve fixed for delalloc... Let's see.
If that takes too long I think it make sense to merge the new ordered
mode rewrite first then re-think of the delalloc solution based on
reversed locking (rather than fixing around) and the new ordered mode.

Mingming