Re: blktests failures with v6.12-rc1 kernel

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

 



在 2024/10/4 10:40, Shinichiro Kawasaki 写道:
On Oct 03, 2024 / 13:56, Bart Van Assche wrote:
On 10/3/24 1:02 AM, Shinichiro Kawasaki wrote:
#3: srp/001,002,011,012,013,014,016

     The seven test cases in srp test group failed due to the WARN
     "kmem_cache of name 'srpt-rsp-buf' already exists" [4]. The failures are
     recreated in stable manner. They need further debug effort.

Does the patch below help?

Thanks Bart, but unfortunately, still the test cases fail with the message
below. I also noticed that similar WARN for 'srpt-req-buf' is observed. This
problem apply to both 'srpt-rsp-buf' and 'srpt-req-buf', probably.


Hi, Bart

I read the following commit in the link:

https://patchwork.kernel.org/project/linux-rdma/patch/20240920181129.37156-1-sebott@xxxxxxxxxx/#:~:text=Add%20the%20device%20name%20to%20the%20per%20device

Maybe the root cause of this problem is the same with the above link.
So I add a jiffies (u64) value into the name.

Hope this can solve this problem.

Hi, Shinichiro

The following is the same with Bart's patch except that a jiffies value is added to make the name unique. I am not sure if you can make tests to verify this patch or not.

Thanks a lot.

diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index 9632afbd727b..ea1f8e6072ac 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -2164,6 +2164,7 @@ static int srpt_cm_req_recv(struct srpt_device *const sdev,
        u32 it_iu_len;
        int i, tag_num, tag_size, ret;
        struct srpt_tpg *stpg;
+    char *cache_name;

        WARN_ON_ONCE(irqs_disabled());

@@ -2245,8 +2246,13 @@ static int srpt_cm_req_recv(struct srpt_device *const sdev,
        INIT_LIST_HEAD(&ch->cmd_wait_list);
        ch->max_rsp_size = ch->sport->port_attrib.srp_max_rsp_size;

- ch->rsp_buf_cache = kmem_cache_create("srpt-rsp-buf", ch->max_rsp_size, + cache_name = kasprintf(GFP_KERNEL, "srpt-rsp-buf-%s-%s-%d-%llu", src_addr, + dev_name(&sport->sdev->device->dev), port_num, get_jiffies_64());
+    if (!cache_name)
+        goto free_ch;
+    ch->rsp_buf_cache = kmem_cache_create(cache_name, ch->max_rsp_size,
                                              512, 0, NULL);
+    kfree(cache_name);
        if (!ch->rsp_buf_cache)
                goto free_ch;

Zhu Yanjun

------------[ cut here ]------------
kmem_cache of name 'srpt-rsp-buf-fec0:0000:0000:0000:5054:00ff:fe12:3456-ens3_siw-1' already exists
WARNING: CPU: 0 PID: 47 at mm/slab_common.c:107 __kmem_cache_create_args+0xa3/0x300
Modules linked in: ib_srp scsi_transport_srp target_core_user target_core_pscsi target_core_file ib_srpt target_core_iblock target_core_mod rdma_cm iw_cm ib_cm ib_umad scsi_debug dm_service_time siw ib_uverbs null_blk ib_core nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr sunrpc 9pnet_virtio ppdev 9pnet netfs e1000 i2c_piix4 parport_pc pcspkr parport i2c_smbus fuse loop nfnetlink zram bochs drm_vram_helper drm_ttm_helper ttm drm_kms_helper xfs nvme drm floppy nvme_core sym53c8xx scsi_transport_spi nvme_auth serio_raw ata_generic pata_acpi dm_multipath qemu_fw_cfg
CPU: 0 UID: 0 PID: 47 Comm: kworker/u16:2 Not tainted 6.12.0-rc1+ #335
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014
Workqueue: iw_cm_wq cm_work_handler [iw_cm]
RIP: 0010:__kmem_cache_create_args+0xa3/0x300
Code: 8d 58 98 48 3d d0 a7 25 b2 74 21 48 8b 7b 60 48 89 ee e8 30 cd 06 02 85 c0 75 e0 48 89 ee 48 c7 c7 d0 db b0 b1 e8 dd 92 82 ff <0f> 0b be 20 00 00 00 48 89 ef e8 8e cd 06 02 48 85 c0 0f 85 02 02
RSP: 0018:ffff88810135f508 EFLAGS: 00010292
RAX: 0000000000000000 RBX: ffff888100289400 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffffb11bea60 RDI: 0000000000000001
RBP: ffff8881144bbb00 R08: 0000000000000001 R09: ffffed102026be4b
R10: ffff88810135f25f R11: 0000000000000001 R12: 0000000000000100
R13: ffff88810135f6c8 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8883ae000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f4f8d878c58 CR3: 00000001376da000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
  <TASK>
  ? __warn.cold+0x5f/0x1f8
  ? __kmem_cache_create_args+0xa3/0x300
  ? report_bug+0x1ec/0x390
  ? handle_bug+0x58/0x90
  ? exc_invalid_op+0x13/0x40
  ? asm_exc_invalid_op+0x16/0x20
  ? __kmem_cache_create_args+0xa3/0x300
  ? __kmem_cache_create_args+0xa3/0x300
  srpt_cm_req_recv.cold+0x12e0/0x46a4 [ib_srpt]
  ? vsnprintf+0x38b/0x18f0
  ? __pfx_vsnprintf+0x10/0x10
  ? __pfx_srpt_cm_req_recv+0x10/0x10 [ib_srpt]
  ? snprintf+0xa5/0xe0
  ? __pfx_snprintf+0x10/0x10
  ? lock_release+0x460/0x7a0
  srpt_rdma_cm_req_recv+0x35d/0x460 [ib_srpt]
  ? __pfx_srpt_rdma_cm_req_recv+0x10/0x10 [ib_srpt]
  ? rcu_is_watching+0x11/0xb0
  ? trace_cm_event_handler+0xf5/0x140 [rdma_cm]
  cma_cm_event_handler+0x88/0x210 [rdma_cm]
  iw_conn_req_handler+0x7a8/0xf10 [rdma_cm]
  ? __pfx_iw_conn_req_handler+0x10/0x10 [rdma_cm]
  ? alloc_work_entries+0x12f/0x260 [iw_cm]
  cm_work_handler+0x143f/0x1ba0 [iw_cm]
  ? __pfx_cm_work_handler+0x10/0x10 [iw_cm]
  ? process_one_work+0x7de/0x1460
  ? lock_acquire+0x2d/0xc0
  ? process_one_work+0x7de/0x1460
  process_one_work+0x85a/0x1460
  ? __pfx_lock_acquire.part.0+0x10/0x10
  ? __pfx_process_one_work+0x10/0x10
  ? assign_work+0x16c/0x240
  ? lock_is_held_type+0xd5/0x130
  worker_thread+0x5e2/0xfc0
  ? __pfx_worker_thread+0x10/0x10
  kthread+0x2d1/0x3a0
  ? _raw_spin_unlock_irq+0x24/0x50
  ? __pfx_kthread+0x10/0x10
  ret_from_fork+0x30/0x70
  ? __pfx_kthread+0x10/0x10
  ret_from_fork_asm+0x1a/0x30
  </TASK>
irq event stamp: 53809
hardirqs last  enabled at (53823): [<ffffffffae3d59ce>] __up_console_sem+0x5e/0x70
hardirqs last disabled at (53834): [<ffffffffae3d59b3>] __up_console_sem+0x43/0x70
softirqs last  enabled at (53864): [<ffffffffae2277ab>] __irq_exit_rcu+0xbb/0x1c0
softirqs last disabled at (53843): [<ffffffffae2277ab>] __irq_exit_rcu+0xbb/0x1c0
---[ end trace 0000000000000000 ]---
ib_srpt:srpt_cm_req_recv: ib_srpt imm_data_offset = 68
------------[ cut here ]------------





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux