xnet.sh
Format
xnet.sh -a showstat [ -c controller ] [ -l linktype ] [ -p pid ]
xnet.sh -a xrbstat [ -c controller ] [ -p pid ]
xnet.sh -a calcrsp [ -c controller ] [ -f printflag ]
xnet.sh -a showconn -c controller
xnet.sh -a timestat {-o | -c | -r | -a | -m src_nid | -n dst_nid | -i pid | -q req_opcode | -p rep_opcode | -s stat_rate}
xnet.sh -a iodschstat {-f flag | -s}
xnet.sh -a iodelaydis {-a step | -p pid | -f flag | -x opcode1 | -y opcode2 | -s}
xnet.sh -a iosize {-f flag | -s}
xnet.sh -a ioparelldis {-p pid | -f flag | -s}
xnet.sh -a ping {-c controller -l link_type -n num}
xnet.sh -a cbtimestat { -f flags | -s }
xnet.sh -a delipscaleoutcfg
Parameters
Parameter |
Description |
Value |
---|---|---|
controller | Controller ID. | The value ranges from 0 to total number of controllers minus one. |
linktype | Link type. | The value can be "0" or "1", where:
|
pid | Module ID. | The value ranges from 0 to 1023. |
printflag | Whether logs are printed. | The value can be "0" or "1", where:
|
num | Number of messages. | The value ranges from 1 to 1000. |
-o | Enables the statistics switch. | - |
-c | Disables the statistics switch. | - |
-r | Reads clean. | - |
-a | Shows all. | - |
-m | Src nid. | The value ranges from 0 to Number of controllers – 1. |
-n | Dst nid. | The value ranges from 0 to Number of controllers – 1. |
-i | Pid. | The value ranges from 0 to 1023. |
-q | Request operation code. | The value ranges from 0 to 0xffffffff. |
-p | Response operation code. | The value ranges from 0 to 0xffffffff. |
-s | Ratio of I/O statistics (The number of I/Os is the "s"th power of 2). | The value ranges from 0 to 16. |
-f | Turns on or off the switch of collecting statistics. | The value can be "0" or "1". |
-a | Period of collecting statistics (unit: ns). | The value ranges from 0 to 0xffffffff. |
-p | Module ID. | The value ranges from 0 to 1023. |
-x | Operation code "1" of the statistics. | The value ranges from 0 to 0xffffffff. |
-y | Operation code "2" of the statistics. | The value ranges from 0 to 0xffffffff. |
-s | Records the statistics to the message log. | - |
Usage Guidelines
- Query the count of XNET messages sent to the controller by specifying the link type and module PID.
- Query the count of xrb messages sent to the controller by specifying the module PID.
- Query XNET messages that are sent to the controller but get no response and use option "-f" to print message properties into logs.
- Query the connection status of the local controller and a specified controller.
- Collect statistics on I/O latency of the XRB path.
- Collect statistics on IOD scheduling.
- Collect statistics on I/O burst.
- Collect statistics on I/O size.
- Collect statistics on concurrent I/Os.
- Check communication status.
- Collect the time of application callback for dealing with I/Os.
- Delete the IP scale-out cluster networking configurations of the XNET module.
Example
-
Query GE link messages sent to module "47" on controller "1".
Storage: minisystem> xnet.sh -a showstat -c 1 -l 1 -p 47 admin:/diagnose>xnet showstat -c 1 -l 1 -p 47 xnet ETH link statistic : xnet controller 1 pid 47 send post count: 5 xnet controller 1 pid 47 send req count: 1303 xnet controller 1 pid 47 send rsp count: 2344 xnet controller 1 pid 47 send success post count: 5 xnet controller 1 pid 47 send success req count: 1303 xnet controller 1 pid 47 send success rsp count: 2344 xnet controller 1 pid 47 send timeout post count: 0 xnet controller 1 pid 47 send timeout req count: 0 xnet controller 1 pid 47 send timeout rsp count: 0 xnet controller 1 pid 47 add readyQ fail post count: 0 xnet controller 1 pid 47 add readyQ fail req count: 0 xnet controller 1 pid 47 add readyQ fail rsp count: 0 xnet controller 1 pid 47 send fail post count: 0 xnet controller 1 pid 47 send fail req count: 0 xnet controller 1 pid 47 send fail rsp count: 0 xnet controller 1 pid 47 rcv post count: 25 xnet controller 1 pid 47 rcv req count: 2344 xnet controller 1 pid 47 rcv rsp count: 1303 xnet controller 1 pid 47 rcv invalid post count: 0 xnet controller 1 pid 47 rcv invalid req count: 0 xnet controller 1 pid 47 rcv invalid rsp count: 0 xnet controller 1 pid 47 timeout post count: 0 xnet controller 1 pid 47 timeout req count: 0 xnet controller 1 pid 47 timeout rsp count: 0 xnet controller 1 pid 47 invalid success post count: 0 xnet controller 1 pid 47 invalid success req count: 0 xnet controller 1 pid 47 invalid success rsp count: 0 xnet controller 1 pid 47 ge to pcie count: 0 admin:/diagnose>exit Storage: minisystem
-
Query xrb messages sent to module "47" on controller "1".
Storage: minisystem> xnet.sh -a xrbstat -c 1 -p 47 admin:/diagnose>xrb showstat -c 1 -p 47 Send data : nid(1) pid(47) REQ : 0 RSP : 0 POST : 0. Send data ret : nid(1) pid(47) SUCCESS : 0 FAIL : 0. Send sgl : nid(1) pid(47) REQ : 0 RSP : 0 POST : 0. Send sgl ret : nid(1) pid(47) SUCCESS : 0 FAIL : 0. Send msg : nid(1) pid(47) REQ : 0 RSP : 3 POST : 0. Send msg ret : nid(1) pid(47) SUCCESS : 3 FAIL : 0. rcv data : nid(1) pid(47) REQ : 3 RSP : 0 POST : 0. rcv sgl : nid(1) pid(47) REQ : 0 RSP : 0 POST : 0. rcv msg : nid(1) pid(47) REQ : 0 RSP : 0 POST : 0. rsp timeout : nid(1) pid(47) REQ : 0 RSP : 0 POST : 0. alloc sgl : nid(1) pid(47) SUCCESS : 3 FAIL : 0. alloc quota : nid(1) pid(47) : 0. alloc quota ret : nid(1) pid(47) SUCCESS : 0 FAIL : 0. Page alloc stat : nid(1) pid(47): AllocRequest 3 AllocCallBack : 3 AllocHang : 0. admin:/diagnose>exit Storage: minisystem>
-
Query requests that get no response on controller "1".
Storage: minisystem> xnet.sh -a calcrsp -c 1 -f 0 admin:/diagnose>xnet calcrsp -c 1 -f 0 Current Response Struct Number: 0 admin:/diagnose>exit Storage: minisystem>
-
Query the connection status of the local controller and a specified controller.
Storage: minisystem> xnet.sh -a showconn -c 1 Dst control ID : 1. Local control ID : 0. Seqid seqid(peer) attr type state local peer priority dev_type refcnt msgnum(self) msgnum(sent) msgnum(total)resentCtrl refcnt(bit) afficnt 1 0 ACTIVE CTRL ACTIVE 0 1 H/L UDP 4 0 0 6773956 0x0 0xf 0x0 5 0 ACTIVE DATA ACTIVE 0 1 H/L PCIE 4 0 0 26953796 0x0 0xf 0x16292 4 0 ACTIVE DATA ACTIVE 0 1 H/L PCIE 4 0 0 26945676 0x0 0xf 0x16301 3 0 ACTIVE DATA ACTIVE 0 1 H/L PCIE 4 0 0 26947516 0x0 0xf 0x16305 2 0 ACTIVE DATA ACTIVE 0 1 H/L PCIE 4 0 0 26952247 0x0 0xf 0x16271
-
Enable the switch of collecting statistics on I/O latency of node "0" and node "1" with pid=258, req_opcode=res_opcode=3.
Storage: minisystem> xnet.sh -a timestat -o -m 0 -n 1 -i 258 -q 3 -p 3 -s 0 Open xrb time statistics
-
Disable all the switches of collecting statistics on I/O latency.
Storage: minisystem> xnet.sh -a timestat -c Close xrb time statistics
-
Turn on the IOD statistics collection switch.
Storage: minisystem> xnet.sh -a iodschstat -f 1 Start iod stat success
-
Turn off the IOD statistics collection switch.
Storage: minisystem> xnet.sh -a iodschstat -f 0 Stop iod stat success
-
Enable the switch of collecting statistics on burst of I/Os whose module ID is "2" and operation code is "7".
Storage: minisystem> xnet.sh -a iodelaydis -a 1000000 -p 2 -f 1 -x 7
-
Disable all the switches of collecting statistics on burst of I/Os and show the statistics.
Storage: minisystem> xnet.sh -a iodelaydis -f 0 -s
-
Enable the switch of collecting statistics on I/O size.
Storage: minisystem> xnet.sh -a iosize -f 1
-
Disable the switch of collecting statistics on I/O size.
Storage: minisystem> xnet.sh -a iodelaydis -f 0 -s
-
Enable the switch of collecting statistics on concurrent I/Os with pid=2.
Storage: minisystem> xnet.sh -a ioparelldis -p 2 -f 1
-
Disable all the switches of collecting statistics on concurrent I/Os.
Storage: minisystem> xnet.sh -a ioparelldis -f 0
-
Check the communication of GE links by sending GE messages.
Storage: minisystem> xnet.sh -a ping -c 1 -l 1 -n 1000 Reply from controller 1 average time = 66259us max time = 129984us count = 1000
-
Enable the switch of collecting the time of application callback for dealing with I/Os.
Storage: minisystem> xnet.sh -a cbtimestat -f 1
-
Disable the switch of collecting the time of application callback for dealing with I/Os.
Storage: minisystem> xnet.sh -a cbtimestat -f 0
-
Delete the IP scale-out cluster networking configurations of the XNET module.
Storage: minisystem> xnet.sh -a delipscaleoutcfg admin:/diagnose>xnetpal delclustcfg -o 7 MGT oper delete success oper: 7 iRet: 0 admin:/diagnose>exit admin:/diagnose>xnetpal opercomplete -o 6 MGT oper complete success oper: 6 iRet: 0 admin:/diagnose>exit Storage: minisystem
System Response
The following table describes the parameter meanings.
Parameter |
Meaning |
---|---|
Current Response Struct Number | Number of messages that get no response on the local controller. |
link statistic | Link type. |
send count | Count of sent messages. |
send success count | Count of messages that are successfully sent. |
send timeout count | Count of messages that are timed out. |
add readyQ fail count | Count of messages that fail to be added to the queue. |
send fail count | Count of messages that fail to be sent. |
rcv count | Count of received messages. |
rcv rsp count | Count of received responses. |
rcv invalid post | Count of invalid received post messages. |
rcv invalid req | Count of invalid received request messages. |
rcv invalid rsp | Count of invalid received response messages. |
timeout post count | Count of timed out post messages. |
timeout req count | Count of timed out request messages. |
timeout rsp count | Count of timed out response messages. |
invalid success post count | Count of invalid sending success notification post messages. |
invalid success req count | Count of invalid sending success notification request messages. |
invalid success rsp count | Count of invalid sending success notification response messages. |
ge to pcie count | Count of GE to PCIe. |
Send data | Count of sent data. |
Send data ret | Count of data sending results. |
Send sgl | Count of sent SGLs. |
Send sgl ret | Count of SGL sending results. |
Send msg | Count of sent messages. |
Send msg ret | Count of message sending results. |
rcv data | Count of received data. |
rcv sgl | Count of received SGLs. |
rcv msg | Count of received messages. |
rsp timeout | Count of responses that are timed out. |
alloc sgl | Count of allocated SGLs. |
alloc quota | Count of allocated quotas. |
alloc quota ret | Count of quota allocation results. |
Page alloc stat | Count of page allocation states. |
Current Response Struct Number | Number of local controller's messages which the remote controller does not respond to. |
Local control ID | Local controller ID. |
Dst control ID | Destination controller ID. |
Seqid | Connection ID. |
seqid(peer) | Connection ID of the peer end. |
attr | Connection property. Possible values are ACTIVE and PASSIVE. |
type | Connection type. Possible values are CTRL and DATA. |
state | Connection state. |
local | ID of the local node. |
peer | ID of the peer node. |
priority | Connection priority. |
dev_type | Device type. |
refcnt | Number of connection references. |
msgnum(self) | Number of self queue elements in the connections. |
msgnum(sent) | Number of sent queue elements in the connections. |
msgnum(total) | Number of the messages that have joined self queue in RDMA connections. |
resentCtrl | Resent procedure control variable. |
refcnt(bit) | Reference count procedure control variable. |
afficnt | Affinity path selecting statistics. |
average time | Average round-trip time of messages. |
max time | Maximum round-trip time of messages. |
count | Number of messages sent. |
oper | Operation code. |
iRet | Return value. |