OpenSolaris

Printable Version Enter a New Search
Bug ID 6751194
Synopsis rpcib: unable to unconfigure InfiniBand HCA cards
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:rpc
Keywords
Responsible Engineer Rajkumar Sivaprakasam
Reported Against
Duplicate Of
Introduced In solaris_10
Commit to Fix snv_109
Fixed In snv_109
Release Fixed solaris_nevada(snv_109)
Related Bugs 6783732
Submit Date 22-September-2008
Last Update Date 7-July-2009
Description
Subject: rpcib issue
Date: Thu, 11 Sep 2008 16:28:58 -0700




Unconfiguring rpcib fails:

# cfgadm -c unconfigure ib::rpcib,0
Unconfigure the device: /devices/ib:fabric::rpcib,0
This operation will suspend activity on the IB device
Continue (yes/no)? y
cfgadm: Hardware specific failure: unconfigure operation failed ap_id:
/devices/ib:fabric::rpcib,0


My test system has two HCAs. When unconfiguring an HCA, the first one
succeeds and the second one fails:

# cfgadm -f -c unconfigure PCI-EM0
# cfgadm -f -c unconfigure PCI-EM1
cfgadm: Component system is busy, try again: unconfigure failed

If I remove rpcib and reboot the system, unconfiguring both HCAs succeed.
After removing rpcib and rebooting:

# cfgadm -f -c unconfigure  PCI-EM0
# cfgadm -f -c unconfigure  PCI-EM1
#

Ramaswamy.
Work Around
N/A
Comments
We should be able to unconfigure rpcib during HCA DR. Right now in a multi HCA system we can DR out one HCA since it will result in sending IBT_HCA_DETACH_EVENT to all the clients that opened that HCA. Since rpcib implements the IBT_HCA_DETACH_EVENT to an extent it will detach for the first HCA.

	When the last HCA is detached it will result in the mdi layer trying to detach the client (since the HCA being DR'ed out has the last only PI to the pseudo client). This will succeed only if no other application or module holds a reference to rpcib.

	In case of rpcib, the rpcmod opens 'rpcib' using the ldi_open_by_name in the rdma_reachable routine. This is done during the first mount attempt using the rdma protocol in the client side and if there are any NFS shares in the server side.