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

2021-01-12 Thread Linus Torvalds
On Tue, Jan 12, 2021 at 2:44 AM Jan Kara wrote: > > On Fri 08-01-21 18:04:21, Linus Torvalds wrote: > > > > Oh, and Michael Larabel (of phoronix) reports that that one-liner does > > something bad to a few PostgreSQL tests, on the order of 5-10% > > regression on some machines (but apparently not

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

2021-01-12 Thread Jan Kara
On Fri 08-01-21 18:04:21, Linus Torvalds wrote: > On Tue, Jan 5, 2021 at 11:53 AM Linus Torvalds > wrote: > > > > 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"). > > Oh, and Mic

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

2021-01-08 Thread Linus Torvalds
On Tue, Jan 5, 2021 at 11:53 AM Linus Torvalds wrote: > > 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"). Oh, and Michael Larabel (of phoronix) reports that that one-liner does some

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

2021-01-05 Thread Matthew Wilcox
On Tue, Jan 05, 2021 at 01:22:49PM -0800, Linus Torvalds wrote: > On Tue, Jan 5, 2021 at 1:13 PM Hugh Dickins 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 l

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

2021-01-05 Thread Linus Torvalds
On Tue, Jan 5, 2021 at 1:13 PM Hugh Dickins 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

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

2021-01-05 Thread Hugh Dickins
On Tue, 5 Jan 2021, Linus Torvalds wrote: > On Tue, Jan 5, 2021 at 11:31 AM Linus Torvalds > wrote: > > On Mon, Jan 4, 2021 at 7:29 PM Hugh Dickins 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. >

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

2021-01-05 Thread Linus Torvalds
On Tue, Jan 5, 2021 at 11:31 AM Linus Torvalds wrote: > > On Mon, Jan 4, 2021 at 7:29 PM Hugh Dickins 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. > >

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

2021-01-05 Thread Linus Torvalds
On Mon, Jan 4, 2021 at 7:29 PM Hugh Dickins wrote: > > > But I feel it's really that end_page_writeback() itself is > > fundamentally buggy, because the "wakeup" is not atomic with the bit > > clearing _and_ it doesn't actually hold the page lock that is > > allegedly serializing this all. > > And

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

2021-01-04 Thread Hugh Dickins
On Mon, 4 Jan 2021, Linus Torvalds wrote: > On Mon, Jan 4, 2021 at 12:41 PM Andrew Morton > wrote: > > > Linus, how confident are you in those wait_on_page_bit_common() > > changes? > > Pretty confident. The atomicity of the bitops themselves is fairly simple. > > But in the writeback bit? No.

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

2021-01-04 Thread Linus Torvalds
On Mon, Jan 4, 2021 at 12:41 PM Andrew Morton wrote: > > > > > kernel BUG at mm/page-writeback.c:2241! > > Call Trace: > > mpage_writepages+0xd8/0x230 fs/mpage.c:714 > > do_writepages+0xec/0x290 mm/page-writeback.c:2352 > > __filemap_fdatawrite_range+0x2a1/0x380 mm/filemap.c:422 > > fat_cont_e

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

2021-01-04 Thread Andrew Morton
On Sun, 03 Jan 2021 06:19:15 -0800 syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit:139711f0 Merge branch 'akpm' (patches from Andrew) > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=11648e9350 > kernel config: http