[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160603072536.GB20676@dhcp22.suse.cz>
Date: Fri, 3 Jun 2016 09:25:36 +0200
From: Michal Hocko <mhocko@...nel.org>
To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Vlastimil Babka <vbabka@...e.cz>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Stephen Rothwell <sfr@...b.auug.org.au>, linux-mm@...ck.org,
linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Andrea Arcangeli <aarcange@...hat.com>
Subject: Re: [linux-next: Tree for Jun 1] __khugepaged_exit
rwsem_down_write_failed lockup
On Fri 03-06-16 16:15:51, Sergey Senozhatsky wrote:
> Hello,
>
> On (06/02/16 11:21), Michal Hocko wrote:
> [..]
> > @@ -2863,6 +2854,7 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages,
> >
> > collect_mm_slot(mm_slot);
> > }
> > + mmput(mm);
> >
> > return progress;
> > }
>
> this possibly sleeping mmput() is called from
> under the spin_lock(&khugepaged_mm_lock).
You are right. khugepaged_scan_mm_slot returns with the lock held.
mmput_async would deal with it.
> there is also a trivial build fixup needed
> (move collect_mm_slot() before __khugepaged_exit()).
will fix that. Thanks!
> it's quite hard to trigger the bug (somehow), so I can't
> follow up with more information as of now.
Thanks anyway!
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists