Re: Experiencing md raid5 hang and CPU lockup on kernel v6.11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

在 2024/11/11 21:56, Haris Iqbal 写道:
On Mon, Nov 11, 2024 at 2:39 PM Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote:

Hi,

在 2024/11/11 21:29, Haris Iqbal 写道:
Hello,

I gave both the patches a try, and here are my findings.


Thanks for the test!

With the first patch by Yu, I did not see any hang or errors. I tried
a number of bitmap chunk sizes, and ran fio for few hours, and there
was no hang.

This is good news! However, there is still a long road for my approch
to land, this requires a lot of other changes to work.

With the second patch Xiao, I hit the following BUG_ON on the first
minute of my fio run.

This is sad. :(

[  113.902982] Oops: invalid opcode: 0000 [#1] PREEMPT SMP PTI
[  113.903315] CPU: 38 UID: 0 PID: 9767 Comm: kworker/38:3H Kdump:
loaded Not tainted 6.11.5-storage
#6.11.5-1+feature+v6.11+20241111.0643+cbe84cc3~deb12
[  113.904120] Hardware name: Supermicro X10DRi/X10DRi, BIOS 3.3 03/03/2021
[  113.904519] Workqueue: ib-comp-wq ib_cq_poll_work [ib_core]
[  113.904888] RIP: 0010:__add_stripe_bio+0x23f/0x250 [raid456]

Can you provide the addr2line of this?

gdb raid456.ko
list *(__add_stripe_bio+0x23f)

Sorry. I missed the first line while copying.

[  113.902680] kernel BUG at drivers/md/raid5.c:3525!

Can you give the following patch a test again, on the top of Xiao's
patch.

Thanks,
Kuai

diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 6e318598a7b6..189f784aed00 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -3516,7 +3516,7 @@ static void __add_stripe_bio(struct stripe_head *sh, struct bio *bi,
                bip = &sh->dev[dd_idx].toread;
        }

-       while (*bip && (*bip)->bi_iter.bi_sector < bi->bi_iter.bi_sector)
+       while (*bip && (*bip)->bi_iter.bi_sector <= bi->bi_iter.bi_sector)
                bip = &(*bip)->bi_next;

        if (!forwrite || previous)


[  113.902982] Oops: invalid opcode: 0000 [#1] PREEMPT SMP PTI
[  113.903315] CPU: 38 UID: 0 PID: 9767 Comm: kworker/38:3H Kdump:
loaded Not tainted 6.11.5-storage
#6.11.5-1+feature+v6.11+20241111.0643+cbe84cc3~deb12
[  113.904120] Hardware name: Supermicro X10DRi/X10DRi, BIOS 3.3 03/03/2021
[  113.904519] Workqueue: ib-comp-wq ib_cq_poll_work [ib_core]
[  113.904888] RIP: 0010:__add_stripe_bio+0x23f/0x250 [raid456]
[  113.905232] Code: 29 ff ff ff 41 8b 84 24 80 01 00 00 83 c0 01 89
45 54 f0 80 4d 49 02 e9 11 ff ff ff 45 85 c0 0f 84 4e fe ff ff e9 31
ff ff ff <0f
[  113.906352] RSP: 0018:ffffb5d30ed27aa0 EFLAGS: 00010006
[  113.906661] RAX: ffff992cb9549818 RBX: 0000000000000000 RCX: 0000000000000001
[  113.907086] RDX: ffff992c989c3158 RSI: ffff992c989c3a58 RDI: 0000000000000000
[  113.907511] RBP: ffff991d19e923a0 R08: 0000000000000000 R09: 0000000000000160
[  113.907936] R10: 0000000000000007 R11: ffffb5d30ed27b70 R12: ffff991d0854b800
[  113.908361] R13: 0000000000000001 R14: ffff991d19e92718 R15: 0000000000000001
[  113.908786] FS:  0000000000000000(0000) GS:ffff993c3fc80000(0000)
knlGS:0000000000000000
[  113.909267] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  113.909609] CR2: 00007f21b85473d8 CR3: 000000145d82c001 CR4: 00000000001706f0
[  113.910034] Call Trace:
[  113.910181]  <TASK
[  113.910304]  ? die+0x36/0x90
[  113.910478]  ? do_trap+0xdd/0x100
[  113.910675]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.910979]  ? do_error_trap+0x65/0x80
[  113.911200]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.911503]  ? exc_invalid_op+0x50/0x70
[  113.911731]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.912033]  ? asm_exc_invalid_op+0x1a/0x20
[  113.912283]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.912586]  raid5_make_request+0x35f/0x1210 [raid456]
[  113.912896]  ? submit_bio_noacct+0x47/0x4c0
[  113.913145]  ? __pfx_woken_wake_function+0x10/0x10
[  113.913430]  ? bio_split_rw+0x143/0x290
[  113.913659]  md_handle_request+0x156/0x270
[  113.913905]  __submit_bio+0x15c/0x1f0
[  113.914126]  submit_bio_noacct_nocheck+0x19a/0x3c0
[  113.914412]  ? submit_bio_noacct+0x47/0x4c0
[  113.914662]  rnbd_srv_rdma_ev+0x501/0xf70 [rnbd_server]
[  113.914976]  ? rtrs_post_recv_empty+0x5d/0x80 [rtrs_core]
[  113.930375]  process_io_req+0x169/0x4e0 [rtrs_server]
[  113.945660]  __ib_process_cq+0x7b/0x170 [ib_core]


Thanks,
Kuai
[  113.905232] Code: 29 ff ff ff 41 8b 84 24 80 01 00 00 83 c0 01 89
45 54 f0 80 4d 49 02 e9 11 ff ff ff 45 85 c0 0f 84 4e fe ff ff e9 31
ff ff ff <0f
[  113.906352] RSP: 0018:ffffb5d30ed27aa0 EFLAGS: 00010006
[  113.906661] RAX: ffff992cb9549818 RBX: 0000000000000000 RCX: 0000000000000001
[  113.907086] RDX: ffff992c989c3158 RSI: ffff992c989c3a58 RDI: 0000000000000000
[  113.907511] RBP: ffff991d19e923a0 R08: 0000000000000000 R09: 0000000000000160
[  113.907936] R10: 0000000000000007 R11: ffffb5d30ed27b70 R12: ffff991d0854b800
[  113.908361] R13: 0000000000000001 R14: ffff991d19e92718 R15: 0000000000000001
[  113.908786] FS:  0000000000000000(0000) GS:ffff993c3fc80000(0000)
knlGS:0000000000000000
[  113.909267] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  113.909609] CR2: 00007f21b85473d8 CR3: 000000145d82c001 CR4: 00000000001706f0
[  113.910034] Call Trace:
[  113.910181]  <TASK
[  113.910304]  ? die+0x36/0x90
[  113.910478]  ? do_trap+0xdd/0x100
[  113.910675]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.910979]  ? do_error_trap+0x65/0x80
[  113.911200]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.911503]  ? exc_invalid_op+0x50/0x70
[  113.911731]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.912033]  ? asm_exc_invalid_op+0x1a/0x20
[  113.912283]  ? __add_stripe_bio+0x23f/0x250 [raid456]
[  113.912586]  raid5_make_request+0x35f/0x1210 [raid456]
[  113.912896]  ? submit_bio_noacct+0x47/0x4c0
[  113.913145]  ? __pfx_woken_wake_function+0x10/0x10
[  113.913430]  ? bio_split_rw+0x143/0x290
[  113.913659]  md_handle_request+0x156/0x270
[  113.913905]  __submit_bio+0x15c/0x1f0
[  113.914126]  submit_bio_noacct_nocheck+0x19a/0x3c0
[  113.914412]  ? submit_bio_noacct+0x47/0x4c0
[  113.914662]  rnbd_srv_rdma_ev+0x501/0xf70 [rnbd_server]
[  113.914976]  ? rtrs_post_recv_empty+0x5d/0x80 [rtrs_core]
[  113.930375]  process_io_req+0x169/0x4e0 [rtrs_server]
[  113.945660]  __ib_process_cq+0x7b/0x170 [ib_core]

.






[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux