Re: JFFS2 deadlock
From: Joakim Tjernlund
Date: Thu Feb 25 2016 - 02:47:35 EST
On Thu, 2016-02-18 at 10:57 +0100, Thomas.Betker@xxxxxxxxxxxxxxxxx wrote:
> Hello David:
> > >
> > > Please could you try what's in the tree at
> > > http://git.infradead.org/users/dwmw2/jffs2-fixes.git
> > Your patch looks much simpler, and I will definitely test it. It may
> > take a few days, though, as I have to unearth the test scripts, and
> > find a time slot for testing.
> Here is what I did (sorry for the wait, things were piling up):
> 1) Removed Deng Chao's patch from my kernel, added your patch "jffs2: Fix
> page lock / f->sem deadlock". I am still on linux-3.14, but jffs2 hasn't
> changed much since then, so this shouldn't make a difference. Added a
> printk() before mutex_unlock(&f->sem) to check if the prospective page was
> locked, i.e. if the deadlock situation actually occurs.
> 2) On my target system, started wangzaiwei's test (with some fixes), plus
> a loop copying a large file over and over (to get GC rolling, which
> increases the chance of a deadlock).
> 3) After 24 hours, the system was still alive, and the printk() had been
> hit 32 times.
> So yes, I am confident that your patch avoids the deadlock, and if that's
> good enough for you, please add my Tested-by:. However, I am going to run
> some more stress tests here just to check that there weren't any
> unexpected side effects. (Don't get me wrong -- I am sure the patch is
> fine, but for me it's a case of "once bitten, twice shy" ...)
Can we get this upstream before next release? I don't think there will much more
testing at this point.