Re: Crashes/hung tasks with z3pool under memory pressure
From: Guenter Roeck
Date: Tue Apr 17 2018 - 12:35:19 EST
On Tue, Apr 17, 2018 at 04:00:32PM +0200, Vitaly Wool wrote:
> Hi Guenter,
>
> > [ ... ]
> > > Ugh. Could you please keep that patch and apply this on top:
> > >
> > > diff --git a/mm/z3fold.c b/mm/z3fold.c
> > > index c0bca6153b95..e8a80d044d9e 100644
> > > --- a/mm/z3fold.c
> > > +++ b/mm/z3fold.c
> > > @@ -840,6 +840,7 @@ static int z3fold_reclaim_page(struct z3fold_pool *pool, unsigned int retries)
> > > kref_get(&zhdr->refcount);
> > > list_del_init(&zhdr->buddy);
> > > zhdr->cpu = -1;
> > > + break;
> > > }
> > > list_del_init(&page->lru);
> > >
> > Much better, in a way. The system now takes much longer to crash,
> > and the crash reason is a bit different. The log is too long to attach,
> > so I copied it to [1].
> >
> > crashdump.0002 Latest log
> > 000[12]-Fix-attempt-[12].patch Patches applied on top of v4.17.0-rc1.
>
> thanks for the update. Let's start from a clean sheet. I believe this patch has to be applied anyway so could you please check if it solves the problem.
>
Getting better; the log is much less noisy. Unfortunately, there are still
locking problems, resulting in a hung task. I copied the log message to [1].
This is with [2] applied on top of v4.17-rc1.
Guenter
---
[1] http://server.roeck-us.net/qemu/z3pool/crashdump.0003
[2] http://server.roeck-us.net/qemu/z3pool/0001-Fix-attempt-3.patch