Re: kernel BUG at mm/page-writeback.c:LINE!

From: Matthew Wilcox
Date: Tue Jan 05 2021 - 16:36:32 EST


On Tue, Jan 05, 2021 at 01:22:49PM -0800, Linus Torvalds wrote:
> On Tue, Jan 5, 2021 at 1:13 PM Hugh Dickins <hughd@xxxxxxxxxx> wrote:
> >
> > I was going to raise a question, whether you should now revert
> > 073861ed77b6 ("mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback)"):
> > which would not have gone in like that if c2407cf7d22d were already in.
>
> Honestly, even if it wasn't for that PageTail issue, I think
> 073861ed77b6 is just the right thing to do anyway. It just feels _so_
> much safer to not have the possibility of that page wait thing
> following while the page is possibly then being free'd and re-used at
> the same time.
>
> So I think the only reason to revert that commit would be if we were
> to find that it's a huge performance problem to raise the page
> refcount temporarily. Which I think is very unlikely (since we already
> dirty the page structure due to the page flags modification - although
> they are far enough apart that it might be a different cacheline).

struct pages _tend_ to be 64 bytes on 64-bit platforms (and i suspect
you're long past caring about performance on 32-bit platforms).