On Fri, Jun 5, 2020 at 2:35 PM George McCollister
<[email protected]> wrote:
>
> On Fri, Jun 5, 2020 at 2:26 PM Bruce Ashfield <[email protected]> 
> wrote:
> >
> > In message: [linux-yocto] [PATCH v5.4-rt] jbd2: remove extra 
> > put_journal_head call added in merge
> > on 05/06/2020 George McCollister wrote:
> >
> > > Remove an extra jbd2_journal_put_journal_head() call added in merge
> > > commit 1bd80362fc0b60d44d2808a6f8dc5f1054a9d8ea.
> > > jbd2_journal_put_journal_head() is already called after write_unlock().
> > >
> > > This commit makes fs/jbd2 match v5.4.43-rt25 of
> > > git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git
> > >
> > > This sometimes caused the following invalid opcode error when a
> > > postgresql database was being written on an ext4 filesystem.
> > >
> > > invalid opcode: 0000 [#1] PREEMPT_RT SMP PTI
> > > CPU: 0 PID: 589 Comm: postmaster Not tainted 5.4.43-rt24-yocto-preempt-rt 
> > > #1
> > > Hardware name: advantech som-db5800-som-6867/som-db5800-som-6867, BIOS 
> > > 2018.09 03/29/2019
> > > RIP: 0010:jbd2_journal_put_journal_head+0x1cb/0x1d7
> > > Code: 8b 03 a9 00 00 40 00 75 f4 e9 65 fe ff ff 0f 0b 48 8b 00 a9 00 00 
> > > 04 00 0f 84 26 ff ff ff e8 3c 12 c8 ff e9 1c ff ff ff 0f 0b <0f> 0b 0f 0b 
> > > 0f 0b 0f 0b 0f 0b 0f 0b 0f 1f 44 00 00 55 48 89 e5 53
> > > RSP: 0018:ffffb34200e0f930 EFLAGS: 00010286
> > >
> > > RAX: ffff9b4db6663540 RBX: ffff9b4db65b0390 RCX: 0000000000000001
> > > RDX: 0000000000000000 RSI: 0000000000000246 RDI: 0000000000000000
> > > RBP: ffffb34200e0f948 R08: 0000000000000000 R09: 0000000000000001
> > > R10: ffffffffffffffc0 R11: 000000000000003f R12: ffff9b4db6663540
> > > R13: ffff9b4db65b0390 R14: ffff9b4db6663540 R15: 0000000000001000
> > > FS:  00007fadff2ba740(0000) GS:ffff9b4df9000000(0000) 
> > > knlGS:0000000000000000
> > > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > CR2: 000055a694a84530 CR3: 00000000735f8000 CR4: 00000000001006f0
> > > Call Trace:
> > >  jbd2_journal_invalidatepage+0x276/0x390
> > >  __ext4_journalled_invalidatepage+0x62/0x100
> > >  ext4_journalled_invalidatepage+0xe/0x20
> > >  truncate_cleanup_page+0x4a/0xb0
> > >  truncate_inode_pages_range+0x1ec/0x6f0
> > >  ? ext4_rename+0x170/0x870
> > >  ? preempt_count_add+0x4d/0xc0
> > >  ? preempt_count_add+0x4d/0xc0
> > >  ? migrate_enable+0x11e/0x430
> > >  ? preempt_count_add+0x4d/0xc0
> > >  ? migrate_enable+0x11e/0x430
> > >  truncate_inode_pages_final+0x38/0x60
> > >  ext4_evict_inode+0x11e/0x590
> > >  evict+0xc8/0x190
> > >  iput+0x191/0x250
> > >  dentry_unlink_inode+0x104/0x150
> > >  __dentry_kill+0xd4/0x170
> > >  dput.part.39+0x14c/0x2e0
> > >  dput+0xe/0x10
> > >  ovl_destroy_inode+0x19/0x50
> > >  destroy_inode+0x41/0x80
> > >  evict+0x135/0x190
> > >  iput+0x191/0x250
> > >  dentry_unlink_inode+0x104/0x150
> > >  __dentry_kill+0xd4/0x170
> > >  dput.part.39+0x14c/0x2e0
> > >  dput+0xe/0x10
> > >  do_renameat2+0x408/0x590
> > >  __x64_sys_rename+0x20/0x30
> > >  do_syscall_64+0x4d/0x120
> > >  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> > > RIP: 0033:0x7fadff35f3a7
> > > Code: e8 4e 5c 09 00 85 c0 0f 95 c0 0f b6 c0 f7 d8 5b c3 66 90 b8 ff ff 
> > > ff ff 5b c3 66 0f 1f 84 00 00 00 00 00 b8 52 00 00 00 0f 05 <48> 3d 00 f0 
> > > ff ff 77 01 c3 48 8b 15 b9 ea 15 00 f7 d8 64 89 02 b8
> > > RSP: 002b:00007fff018e7ff8 EFLAGS: 00000246
> > >  ORIG_RAX: 0000000000000052
> > > RAX: ffffffffffffffda RBX: 000055a6949e2250 RCX: 00007fadff35f3a7
> > > RDX: 000055a6949c3070 RSI: 00007fff018e8460 RDI: 00007fff018e8060
> > > RBP: 00007fff018e8040 R08: 000000000000021f R09: 000055a6949e2250
> > > R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff018e8060
> > > R13: 00007fff018e8460 R14: 0000000000000000 R15: 0000000000000000
> >
> > merged.
> >
> > Have you also submitted it upstream to the -rt list ?
>
> Which -rt list? [email protected]? Or is there a linux
> -rt mailing list?

I'm sorry. I meant is there a yocto -rt mailing list?

> This patch fixes a merge issue that I believe is specific to
> linux-yocto v5.4/standard/preempt-rt/base.
> The v5.4-rt branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git
> doesn't have the issue.
>
> George
>
> >
> > Bruce
> >
> > >
> > > Signed-off-by: George McCollister <[email protected]>
> > > ---
> > >  fs/jbd2/transaction.c | 1 -
> > >  1 file changed, 1 deletion(-)
> > >
> > > diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
> > > index 432c6cf8ebe9..9ba03242f1fb 100644
> > > --- a/fs/jbd2/transaction.c
> > > +++ b/fs/jbd2/transaction.c
> > > @@ -2301,7 +2301,6 @@ static int journal_unmap_buffer(journal_t *journal, 
> > > struct buffer_head *bh,
> > >               if (journal->j_running_transaction && buffer_jbddirty(bh))
> > >                       jh->b_next_transaction = 
> > > journal->j_running_transaction;
> > >               jh->b_modified = 0;
> > > -             jbd2_journal_put_journal_head(jh);
> > >               spin_unlock(&journal->j_list_lock);
> > >               spin_unlock(&jh->b_state_lock);
> > >               write_unlock(&journal->j_state_lock);
> > > --
> > > 2.24.1
> > >
> >
> > > 
> >
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#8737): 
https://lists.yoctoproject.org/g/linux-yocto/message/8737
Mute This Topic: https://lists.yoctoproject.org/mt/74699374/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to