
Tao LiuandGreg Kroah-Hartman
fae2a9fb1e
linux/dim: Fix divide by 0 in RDMA DIM
commit 0fe3dbbefb upstream.
Fix a divide 0 error in rdma_dim_stats_compare() when prev->cpe_ratio ==
0.
CallTrace:
Hardware name: H3C R4900 G3/RS33M2C9S, BIOS 2.00.37P21 03/12/2020
task: ffff880194b78000 task.stack: ffffc90006714000
RIP: 0010:backport_rdma_dim+0x10e/0x240 [mlx_compat]
RSP: 0018:ffff880c10e83ec0 EFLAGS: 00010202
RAX: 0000000000002710 RBX: ffff88096cd7f780 RCX: 0000000000000064
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000001
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 000000001d7c6c09
R13: ffff88096cd7f780 R14: ffff880b174fe800 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff880c10e80000(0000)
knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000a0965b00 CR3: 000000000200a003 CR4: 00000000007606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
<IRQ>
ib_poll_handler+0x43/0x80 [ib_core]
irq_poll_softirq+0xae/0x110
__do_softirq+0xd1/0x28c
irq_exit+0xde/0xf0
do_IRQ+0x54/0xe0
common_interrupt+0x8f/0x8f
</IRQ>
? cpuidle_enter_state+0xd9/0x2a0
? cpuidle_enter_state+0xc7/0x2a0
? do_idle+0x170/0x1d0
? cpu_startup_entry+0x6f/0x80
? start_secondary+0x1b9/0x210
? secondary_startup_64+0xa5/0xb0
Code: 0f 87 e1 00 00 00 8b 4c 24 14 44 8b 43 14 89 c8 4d 63 c8 44 29 c0 99 31 d0 29 d0 31 d2 48 98 48 8d 04 80 48 8d 04 80 48 c1 e0 02 <49> f7 f1 48 83 f8 0a 0f 86 c1 00 00 00 44 39 c1 7f 10 48 89 df
RIP: backport_rdma_dim+0x10e/0x240 [mlx_compat] RSP: ffff880c10e83ec0
Fixes: f4915455dc ("linux/dim: Implement RDMA adaptive moderation (DIM)")
Link: https://lore.kernel.org/r/20220627140004.3099-1-thomas.liu@ucloud.cn
Signed-off-by: Tao Liu <thomas.liu@ucloud.cn>
Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Acked-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-07-07 17:52:17 +02:00
..
2022-04-08 14:40:02 +02:00
2021-04-14 08:42:06 +02:00
2021-04-07 15:00:07 +02:00
2022-05-25 09:17:56 +02:00
2021-05-14 09:50:05 +02:00
2022-06-09 10:21:15 +02:00
2022-06-14 18:32:41 +02:00
2021-08-08 09:05:22 +02:00
2021-06-16 12:01:44 +02:00
2022-06-14 18:32:36 +02:00
2021-05-11 14:47:14 +02:00
2022-06-09 10:21:25 +02:00
2021-03-30 14:32:06 +02:00
2021-04-21 13:00:56 +02:00
2021-04-21 13:00:55 +02:00
2022-06-09 10:21:14 +02:00
2021-09-15 09:50:26 +02:00
2022-05-15 20:00:08 +02:00
2022-04-27 13:53:54 +02:00
2022-04-08 14:40:07 +02:00
2021-03-04 11:38:14 +01:00
2021-09-08 08:49:01 +02:00
2022-05-18 10:23:48 +02:00
2022-06-09 10:20:48 +02:00
2021-03-09 11:11:13 +01:00
2021-12-08 09:03:20 +01:00
2022-03-11 12:11:52 +01:00
2022-04-08 14:40:44 +02:00
2021-07-14 16:56:53 +02:00
2021-06-03 09:00:45 +02:00
2022-04-08 14:39:55 +02:00
2022-01-27 10:54:08 +01:00
2021-11-21 13:46:35 +01:00
2021-08-04 12:46:41 +02:00
2022-01-27 10:53:54 +01:00
2021-09-03 10:09:31 +02:00
2022-06-09 10:21:04 +02:00
2021-03-30 14:32:05 +02:00
2021-09-26 14:08:59 +02:00
2021-11-18 14:04:32 +01:00
2022-01-27 10:54:05 +01:00
2021-07-20 16:05:46 +02:00
2021-07-20 16:05:46 +02:00
2021-07-20 16:05:46 +02:00
2021-09-30 10:11:07 +02:00
2021-05-26 12:06:56 +02:00
2021-11-18 14:03:49 +01:00
2021-06-03 09:00:45 +02:00
2021-05-28 13:17:43 +02:00
2022-04-08 14:40:45 +02:00
2022-06-16 13:27:59 +02:00
2022-05-30 09:33:36 +02:00
2021-09-08 08:49:00 +02:00
2021-03-09 11:11:13 +01:00
2021-06-30 08:47:18 -04:00
2021-03-30 14:32:06 +02:00
2021-08-18 08:59:17 +02:00
2022-07-07 17:52:17 +02:00
2022-05-25 09:17:55 +02:00
2021-03-11 14:17:27 +01:00
2022-06-09 10:21:01 +02:00
2021-05-19 10:13:13 +02:00
2021-10-27 09:56:51 +02:00
2021-09-15 09:50:37 +02:00
2021-03-17 17:06:36 +01:00
2022-04-27 13:53:45 +02:00
2021-11-18 14:04:25 +01:00
2021-09-18 13:40:21 +02:00
2021-03-04 11:38:41 +01:00
2021-04-07 15:00:11 +02:00
2021-11-18 14:03:42 +01:00
2022-06-09 10:20:49 +02:00
2022-01-20 09:17:49 +01:00
2021-11-26 10:39:22 +01:00
2021-09-08 08:48:59 +02:00
2022-02-01 17:25:48 +01:00
2022-01-27 10:54:16 +01:00
2021-06-18 10:00:04 +02:00
2021-09-15 09:50:25 +02:00
2021-07-25 14:36:18 +02:00
2021-09-18 13:40:36 +02:00
2021-09-18 13:40:36 +02:00
2022-05-30 09:33:36 +02:00
2021-05-19 10:12:54 +02:00
2021-03-04 11:38:46 +01:00
2022-03-23 09:13:28 +01:00
2021-03-30 14:31:57 +02:00
2021-08-18 08:59:13 +02:00
2021-09-18 13:40:14 +02:00
2021-05-14 09:50:32 +02:00
2021-12-01 09:19:10 +01:00
2022-04-13 21:00:56 +02:00
2021-08-18 08:59:15 +02:00
2022-06-14 18:32:44 +02:00
2021-11-18 14:03:56 +01:00
2022-05-09 09:04:59 +02:00
2022-06-09 10:21:26 +02:00
2021-03-04 11:37:59 +01:00
2021-03-04 11:38:46 +01:00
2021-03-04 11:38:20 +01:00
2021-12-08 09:03:20 +01:00
2021-06-16 12:01:46 +02:00
2021-11-18 14:03:37 +01:00
2021-09-30 10:11:04 +02:00
2021-09-15 09:50:41 +02:00
2021-09-15 09:50:41 +02:00
2021-09-15 09:50:41 +02:00
2022-06-09 10:21:09 +02:00
2022-06-09 10:21:09 +02:00
2022-06-09 10:21:18 +02:00
2021-04-21 13:01:00 +02:00
2022-05-25 09:17:54 +02:00
2021-10-09 14:40:56 +02:00
2022-01-05 12:40:29 +01:00
2022-02-23 12:00:56 +01:00
2021-09-22 12:27:59 +02:00
2021-03-17 17:06:25 +01:00
2021-03-04 11:38:21 +01:00
2021-06-03 09:00:45 +02:00
2021-06-23 14:42:49 +02:00
2022-05-30 09:33:45 +02:00
2021-06-30 08:47:26 -04:00
2021-03-30 14:32:06 +02:00
2022-05-15 20:00:09 +02:00
2021-08-18 08:59:17 +02:00
2021-03-30 14:32:07 +02:00
2022-05-18 10:23:42 +02:00
2022-04-08 14:39:47 +02:00
2022-04-13 21:01:03 +02:00
2021-05-19 10:13:02 +02:00
2022-06-14 18:32:45 +02:00
2021-07-19 09:44:39 +02:00
2021-03-09 11:11:13 +01:00
2021-09-03 10:09:21 +02:00
2021-06-30 08:47:29 -04:00
2021-09-22 12:28:00 +02:00
2021-05-19 10:13:01 +02:00
2021-05-19 10:13:01 +02:00
2022-06-22 14:13:20 +02:00
2022-02-01 17:25:45 +01:00
2022-02-08 18:30:35 +01:00
2021-03-30 14:32:05 +02:00
2022-06-06 08:42:41 +02:00
2021-05-14 09:50:14 +02:00
2022-01-27 10:54:17 +01:00
2021-05-19 10:12:51 +02:00
2021-11-18 14:04:29 +01:00
2022-05-30 09:33:43 +02:00
2022-02-05 12:37:55 +01:00
2022-02-05 12:37:55 +01:00
2022-04-08 14:39:56 +02:00
2021-06-23 14:42:45 +02:00
2022-06-09 10:20:49 +02:00
2021-04-07 15:00:13 +02:00
2022-05-30 09:33:45 +02:00
2022-06-29 08:59:44 +02:00
2021-09-18 13:40:19 +02:00
2021-06-30 08:47:27 -04:00
2021-11-18 14:04:22 +01:00
2022-04-27 13:53:54 +02:00
2022-06-09 10:21:09 +02:00
2021-11-18 14:04:27 +01:00
2021-03-17 17:06:34 +01:00
2022-04-08 14:40:28 +02:00
2022-05-30 09:33:43 +02:00
2021-09-22 12:27:58 +02:00
2021-08-04 12:46:44 +02:00
2021-05-14 09:50:46 +02:00
2021-06-23 14:42:44 +02:00
2021-09-03 10:09:30 +02:00
2021-09-03 10:09:30 +02:00
2021-03-30 14:31:53 +02:00
2021-03-30 14:31:53 +02:00
2022-05-12 12:25:32 +02:00
2021-03-17 17:06:34 +01:00
2022-02-16 12:54:22 +01:00
2021-07-25 14:36:17 +02:00
2021-07-25 14:36:18 +02:00
2021-05-07 11:04:32 +02:00
2022-03-02 11:42:47 +01:00
2022-06-09 10:21:11 +02:00
2021-03-25 09:04:16 +01:00
2021-09-16 12:51:23 +02:00
2022-05-30 09:33:41 +02:00
2022-03-08 19:09:34 +01:00
2021-11-18 14:04:11 +01:00
2021-11-26 10:39:14 +01:00
2021-07-14 16:55:46 +02:00
2021-05-14 09:50:18 +02:00
2021-03-04 11:37:36 +01:00
2021-05-14 09:50:18 +02:00
2021-03-30 14:31:51 +02:00
2021-05-14 09:50:31 +02:00
2021-03-25 09:04:14 +01:00
2021-03-17 17:06:19 +01:00
2021-09-08 08:49:00 +02:00
2021-03-30 14:32:03 +02:00
2022-03-16 14:16:02 +01:00
2021-12-29 12:25:56 +01:00
2022-03-16 14:16:01 +01:00
2021-12-14 11:32:39 +01:00
2022-03-16 14:16:03 +01:00
2021-04-07 15:00:06 +02:00
2021-03-07 12:34:15 +01:00