Skip to contentSkip to conversation

Linux kernel: Crash of IB peer in RC mode is not detected

Users Jack Wang 2 participants 4 messages Oct 23, 2014 – Oct 24, 2014 6 messages not in the archive InfiniBand

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

Jack Wang

author
#2 lore raw

cc to linux-rdma, which is more proper for this kind of questions.

2014-10-23 15:15 GMT+02:00 Fabian Holler <[email protected]>:

Quoted 34 lines

Hello,

we are implementing Linux kernel modules that are transferring data with RDMA-Write operations via an RC-connection between 2 hosts.

After the RDMA connection between the hosts was established we are causing a kernel Oops on one of them with "echo c > /proc/sysrq-trigger".

The other peer of the RC connection don't notice the crash. RDMA-Write operations are still finished successfully with a WC event 10min after the crash.
Our module has event handlers registered for:
- CQ ib_event_handler,
- QP ib_event_handler,
- device ib_event_handler,
- connection manager event handler.
But we don't receive any events that indicate a connection abort.

I expected that RDMA-Write operations will fail if the other crashes. Also I hoped that an event is generated when a host is crashed. The subnet manager should notice it and notify every other device in the network.

Are we missing something in our modules?
Is there a way to determine that a RC peer crashed without implementing a ping-pong mechanism?

Our setup:
- Linux 3.14.13
- Mellanox Technologies MT27500 Family [ConnectX-3], mlx4_core driver
- both peers are directly connected, no switch in between
- on both hosts OpenSM 3.2.6 is running

Quoted 9 lines

thanks in advance

Fabian

_______________________________________________
Users mailing list [email protected]
http://lists.openfabrics.org/mailman/listinfo/users

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CAD+HZHU1ALaCzVA8X8xhgh1-s=+hVryJYHa9d-biA93vJyX1uQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

#4 lore raw
Quoted 7 lines · Jack Wang
Quoted 7 lines

I expected that RDMA-Write operations will fail if the other crashes. Also I hoped that an event is generated when a host is crashed. The subnet manager should notice it and notify every other device in the network.

Are we missing something in our modules?
Is there a way to determine that a RC peer crashed without implementing a ping-pong mechanism?

If the remote system crashes then any memory regions, QPs, etc. are still valid with the remote HCA, and RDMA read/write operations will continue to succeed. (Unless the system reboots and reinitializes the adapter or something like that).

There isn't a way to detect a remote crash unless that remote crash disconnects your QP or otherwise affects the HCA on the crashed system.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): CAL1RGDXtVYqVuc7S6tYwcQ=ftHnAnYTnNeWLigvKOekyjYF5-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

author
#6 lore raw

Thanks Roland to clarify our confusion.

So looks ping-pong mechanism is the way to go.

Regards,
Jack

2014-10-23 20:43 GMT+02:00 Roland Dreier <[email protected]>:

Quoted 9 lines · Jack Wang
Quoted 7 lines
Quoted 7 lines

I expected that RDMA-Write operations will fail if the other crashes. Also I hoped that an event is generated when a host is crashed. The subnet manager should notice it and notify every other device in the network.

Are we missing something in our modules?
Is there a way to determine that a RC peer crashed without implementing a ping-pong mechanism?

Quoted 8 lines

If the remote system crashes then any memory regions, QPs, etc. are still valid with the remote HCA, and RDMA read/write operations will continue to succeed. (Unless the system reboots and reinitializes the adapter or something like that).

There isn't a way to detect a remote crash unless that remote crash disconnects your QP or otherwise affects the HCA on the crashed system.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): E4BDC8BC-319F-46B7-9D75-9EEF87E2325D-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org

author
#9 lore raw

2014-10-24 13:23 GMT+02:00 Sagi Grimberg <[email protected]>:

Quoted 8 lines

Thanks Roland to clarify our confusion.

So looks ping-pong mechanism is the way to go.

Not sure if it will work for your solution, but you can also register to SM traps.

Hi Sagi,

Could you elaborate a bit more, how to register to SM traps in kernel module?

Quoted 33 lines

Regards,
Jack

2014-10-23 20:43 GMT+02:00 Roland Dreier <[email protected]>:

On Thu, Oct 23, 2014 at 6:50 AM, Jack Wang <[email protected]> wrote:

I expected that RDMA-Write operations will fail if the other crashes.

Also I hoped that an event is generated when a host is crashed. The subnet

manager should notice it and notify every other device in the network.

Are we missing something in our modules?

Is there a way to determine that a RC peer crashed without implementing a

ping-pong mechanism?

If the remote system crashes then any memory regions, QPs, etc. are

still valid with the remote HCA, and RDMA read/write operations will

continue to succeed. (Unless the system reboots and reinitializes the

adapter or something like that).

There isn't a way to detect a remote crash unless that remote crash

Quoted 8 lines

disconnects your QP or otherwise affects the HCA on the crashed

system.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html