Re: [PATCH 2/3] rdma: ratelimit error log

ZhengbingHuang zhengbing.huang at easystack.cn
Thu Jul 31 04:26:34 CEST 2025


Hi Philipp,


Thanks for reply.  I will run checkpatch.pl next time.



Best regards,

   Zhengbing
 

zhengbing.huang at easystack.cn











Original:
From:Philipp Reisner <philipp.reisner at linbit.com>Date:2025-07-30 22:19:20(中国 (GMT+08:00))To:zhengbing.huang<zhengbing.huang at easystack.cn>Cc:drbd-dev<drbd-dev at lists.linbit.com>Subject:Re: [PATCH 2/3] rdma: ratelimit error logHi Zhengbing,

Thanks. This patch contains a coding style error. Or checkpatch.pl error. There should be a space between the if and the opening bracket. Please run a checkpatch.pl on your end before sending patches.

I fixed it and applied it.

Best regards,
 Philipp

On Tue, Jul 8, 2025 at 12:19 PM zhengbing.huang <zhengbing.huang at easystack.cn> wrote:

Have a crash call trace as follow:
   ? bit_clear+0x120/0x120
   fbcon_putcs+0xe7/0x100
   fbcon_redraw.isra.20+0xfd/0x1e0
   fbcon_scroll+0x8c9/0xde0
   con_scroll+0x20b/0x220
   ? bit_clear+0x120/0x120
   lf+0xa0/0xb0
   vt_console_print+0x310/0x400
   console_unlock+0x35f/0x4a0
   vprintk_emit+0x14d/0x250
   printk+0x58/0x6f
   dtr_tx_cq_event_handler+0x895/0x8a0 [drbd_transport_rdma]
   ? sched_clock+0x5/0x10
   ? do_IRQ+0x7f/0xd0
   mlx5_eq_comp_int+0xb0/0x1d0 [mlx5_core]
   notifier_call_chain+0x47/0x70
   atomic_notifier_call_chain+0x16/0x20
   irq_int_handler+0x11/0x20 [mlx5_core]

 and the code is:
 (gdb) l *dtr_tx_cq_event_handler+0x894
 0x3404 is in dtr_tx_cq_event_handler (.../drbd_transport_rdma.c:1935).
 1930                    if (stream_nr != ST_FLOW_CTRL) {
 1931                            err = dtr_repost_tx_desc(cm, tx_desc);
 1932                            if (!err)
 1933                                    tx_desc = NULL; /* it is in the air again! Fly! */
 1934                            else
 1935                                    tr_warn(transport, "repost of tx_desc failed! %d\n", err);
 1936                    }

 This problem is that too many logs print in irq, cause the kernel crash.

 So, we ratelimit error log

 Signed-off-by: zhengbing.huang <zhengbing.huang at easystack.cn>
 ---
  drbd/drbd_transport_rdma.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 diff --git a/drbd/drbd_transport_rdma.c b/drbd/drbd_transport_rdma.c
 index 5270e503a..30edfaf96 100644
 --- a/drbd/drbd_transport_rdma.c
 +++ b/drbd/drbd_transport_rdma.c
 @@ -1920,7 +1920,7 @@ static int dtr_handle_tx_cq_event(struct ib_cq *cq, struct dtr_cm *cm)
                         err = dtr_repost_tx_desc(cm, tx_desc);
                         if (!err)
                                 tx_desc = NULL; /* it is in the air again! Fly! */
 -                       else
 +                       else if(__ratelimit(&rdma_transport->rate_limit))
                                 tr_warn(transport, "repost of tx_desc failed! %d\n", err);
                 }
         }
 --
 2.43.0







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-dev/attachments/20250731/cec380f8/attachment.htm>


More information about the drbd-dev mailing list