Messages in this thread | | | Date | Tue, 5 Jan 2021 13:13:40 -0800 (PST) | From | Hugh Dickins <> | Subject | Re: kernel BUG at mm/page-writeback.c:LINE! |
| |
On Tue, 5 Jan 2021, Linus Torvalds wrote: > On Tue, Jan 5, 2021 at 11:31 AM Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > On Mon, Jan 4, 2021 at 7:29 PM Hugh Dickins <hughd@google.com> wrote: > > > > > > > So the one-liner of changing the "if" to "while" in > > > > wait_on_page_writeback() should get us back to what we used to do. > > > > > > I think that is the realistic way to go. > > > > Yeah, that's what I'll do. > > I took your "way to go" statement as an ack, and made it all be commit > c2407cf7d22d ("mm: make wait_on_page_writeback() wait for multiple > pending writebacks").
Great, thanks, I see it now.
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.
But if it were reverted, we'd need some other fix for the PageTail part of it; and I still cannot think of anywhere else where we knowingly operated on a struct page without holding a reference; and there have been no adverse reports on its extra get_page+put_page.
So I think it's safest to leave it in.
Hugh
| |