Page MenuHomeFreeBSD

Infiniband clients must be attached and detached in a specific order
AbandonedPublic

Authored by hselasky on Mar 5 2020, 4:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Sep 29, 11:10 PM
Unknown Object (File)
Sun, Sep 29, 11:10 PM
Unknown Object (File)
Sun, Sep 29, 4:41 PM
Unknown Object (File)
Sat, Sep 28, 8:09 AM
Unknown Object (File)
Mon, Sep 23, 11:01 PM
Unknown Object (File)
Sat, Sep 21, 3:22 PM
Unknown Object (File)
Tue, Sep 17, 12:10 PM
Unknown Object (File)
Tue, Sep 17, 12:10 PM
Subscribers

Details

Summary

Currently the linking order of the infiniband, IB, modules decide in which order the clients are attached and detached. For example one IB client may use resources from another IB client. This can lead to a potential deadlock at shutdown. For example if the ipoib is unregistered after the ib_multicast client is detached, then if ipoib is using multicast addresses a deadlock may happen, because ib_multicast will wait for all its resources to be freed before returning from the remove method.

Fix this by using module_xxx_order() instead of module_xxx().

MFC after: 1 week
Reported by: Andreas Kempe <kempe@lysator.liu.se>
Sponsored by: Mellanox Technologies

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 32152

Event Timeline

hselasky retitled this revision from Infiniband clients must be detached in a specific order to Infiniband clients must be attached and detached in a specific order.
hselasky edited the summary of this revision. (Show Details)

What's the status of this? We're hitting this problem very frequently at Isilon and this patch does fix the issue.

This patch is about to be submitted upstream. I just needs to run through some internal reviews first.

Update patch to latest version.

Automagic failed to close this review, so just abandon it.