[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190711072423.GA4219@amd>
Date: Thu, 11 Jul 2019 09:24:23 +0200
From: Pavel Machek <pavel@....cz>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
kernel list <linux-kernel@...r.kernel.org>,
sfr@...b.auug.org.au
Subject: Re: next-20190708: kernel BUG at lib/lockref.c:189, softlockups in
shrink_dcache...?
On Thu 2019-07-11 01:25:27, Al Viro wrote:
> On Wed, Jul 10, 2019 at 05:09:12PM -0700, Andrew Morton wrote:
> > On Wed, 10 Jul 2019 22:13:11 +0200 Pavel Machek <pavel@....cz> wrote:
> >
> > > Hi!
> > >
> > > I'm getting some nastyness from lockref / memory management.
> > >
> > > Any ideas? Any ideas who to talk to?
> > >
> >
> > I'd be suspecting Al's a99d7580f66e737 ("Teach shrink_dcache_parent()
> > to cope with mixed-filesystem shrink lists").
>
> It is, and it's already fixed. See 9bdebc2bd1c4 with fixes folded in;
> the incremental is
>
> diff --git a/fs/dcache.c b/fs/dcache.c
> index d8732cf2e302..01b8cae41a71 100644
> --- a/fs/dcache.c
> +++ b/fs/dcache.c
> @@ -1555,7 +1555,9 @@ void shrink_dcache_parent(struct dentry *parent)
> d_walk(parent, &data, select_collect2);
> if (data.victim) {
> struct dentry *parent;
> + spin_lock(&data.victim->d_lock);
> if (!shrink_lock_dentry(data.victim)) {
> + spin_unlock(&data.victim->d_lock);
> rcu_read_unlock();
> } else {
> rcu_read_unlock();
Thanks! It only happened once under high load, so it seems it will not
be coming back.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists