Received: by 10.223.176.5 with SMTP id f5csp619608wra; Tue, 6 Feb 2018 04:44:22 -0800 (PST) X-Google-Smtp-Source: AH8x224Zs1Q3fTY+YtJLaTMkeiv4VC0OCTyVlNj3IUSxVgU8oGPqXGufZQeVr8aEPEdofy+o0MwI X-Received: by 10.98.147.85 with SMTP id b82mr2334095pfe.203.1517921062655; Tue, 06 Feb 2018 04:44:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517921062; cv=none; d=google.com; s=arc-20160816; b=ZbwBnMm2EW+abyBdusrzNZgTFy8FUcjHvGH4drjL0+Nh+umFveZ7yGI/9RfSAnwnKd qR98NyjIqjLlHVkhMDr9UWzsU407WmDtMSO2TRzSUn+LYfglWfM+WGhEPedQTvVNIko9 tQvF23eFIS7DUXStgttzzWGD7gSYtRLsWauRUW2KeZqT8mgaWmiOV8lfyK5iLfnF4AL7 lTlyPnHXyCMSX1RQrMrVO0XGyjJ8djrFixuK00HB9EpMtvuSFntlmF3t765WPCcHJgzR 1UZMoa6ekg+b2lSCySMPG3toSLaDU1432x7mTEZ/YPcOZ2PGPAS0T3HtC0MIKPCyX3yZ yxzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=QfL7w1WUQeuvV7KTyO/18Sfx3e3ghko3eUWQCPZ5RcE=; b=mL76Jy0LNUx63W3hCaVJAE/oUJZd7Zfd6RWOwa5qyumkwlcTbXtdzXZOcgU7OQFOn5 FJ5qVRETFM8P3DvjCXjy7t3Q9EGHLNxAGm8LyLHlwoXmJvLshiQDzpONzUYMdzwZokzB JiqJKOebzLqqQ0q8EO0lu0UOCyZqtpRX2kNOOh8b+pW/PgwDWbXMJoIcYrRCn3JTRNEP mVvvAa0ryUWMQWEpbdiWsOvCq3gnsXpHBlyFMOiNz2PciEhS4shvHfxv2STpbiQPbODT RJQGvIcTL0rMlFw6hpK/8VPNi+gLda1blCl9w9Xzrzalc4oQurmiHHEhyIuLJtHIB6px IBzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dev-mellanox-co-il.20150623.gappssmtp.com header.s=20150623 header.b=hFTjbJHC; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mellanox.co.il Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u12si739347pfl.24.2018.02.06.04.44.08; Tue, 06 Feb 2018 04:44:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@dev-mellanox-co-il.20150623.gappssmtp.com header.s=20150623 header.b=hFTjbJHC; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mellanox.co.il Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752988AbeBFMmd (ORCPT + 99 others); Tue, 6 Feb 2018 07:42:33 -0500 Received: from mail-qt0-f180.google.com ([209.85.216.180]:37816 "EHLO mail-qt0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752932AbeBFMmW (ORCPT ); Tue, 6 Feb 2018 07:42:22 -0500 Received: by mail-qt0-f180.google.com with SMTP id s27so1959170qts.4 for ; Tue, 06 Feb 2018 04:42:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dev-mellanox-co-il.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=QfL7w1WUQeuvV7KTyO/18Sfx3e3ghko3eUWQCPZ5RcE=; b=hFTjbJHCBf09Uz8hJ4wrx6xMT9p+O/DQxXMdMTRg/hOnysUCv8fnmbBfUtOs+DjLiL SYKLUFetjllPd0lyb55fvnLaJ8K6uvd0iEjCYmaubyNdNw2zEHqCjuq95ELda3Lmphcz LM+qq/0SVtQPYxS55Eb60RaAZnCwdHPo4VGRGjp58IMd2eVdEDAPCMFk6kv6Xd1HPVDU 68pm8H+GLl2DRB12BBt+q/GUXpSp+tS9VpDh7Q2WISqb3FFxc/4p8zV9oKIc83s0cgLt 0a2T+E5ofbPNCfgqpdtpOTqxyPz2AqRhGRgpRZei7EyYymXOB4kj2i7mqBNpI3cXTchR /QTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=QfL7w1WUQeuvV7KTyO/18Sfx3e3ghko3eUWQCPZ5RcE=; b=Pu9HYvb0nbAQy59mwG1Tz5OszjNnwaZt7eJYxkEsSWgUvqOQ50QF35G3XuQlYjt0YA vyeTB1oVwrXEt8odtvuBA6s/NkUdx1/T/EoBJ/bg2M4P84pZaLjF9Z8Azvs8/JqUyd1m oY8W5HcKg2iePuullRFSvGvzctQXQOLycICGh+CEcaxRA68r6HOMF6Lyc+2qQo5lWkBc /hvWmeNZ2K18RJIpatrO2zX47tOy057Nayy5TL7PEsqm/69eKQHH1JTyeM7eCbB1Udxy Uh5o8dvnb0r5S5l7IHAvyiPH4b1FrtW5eDgDQpc8+kMsAQcgyROy35vPoYRIh3QUM2OB rTgg== X-Gm-Message-State: APf1xPA6/+hTEATUGDpUphkbER69Etqd6VQdKFS0Obw54TM1Hxt3Zw/Q QNoj51iu2aoNQFmi2LhdsZ8XGg== X-Received: by 10.200.8.173 with SMTP id v42mr3143075qth.162.1517920940824; Tue, 06 Feb 2018 04:42:20 -0800 (PST) Received: from [192.168.1.183] (c-73-182-207-166.hsd1.ma.comcast.net. [73.182.207.166]) by smtp.googlemail.com with ESMTPSA id 6sm7471951qkz.95.2018.02.06.04.42.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Feb 2018 04:42:20 -0800 (PST) Subject: Re: [PATCH v2] Documentation/ABI: update infiniband sysfs interfaces To: Aishwarya Pant , Doug Ledford , Jason Gunthorpe , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Corbet , Greg KH , linux-doc@vger.kernel.org Cc: Julia Lawall References: <20180206072440.GA14957@mordor.localdomain> From: Hal Rosenstock Message-ID: Date: Tue, 6 Feb 2018 07:42:18 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180206072440.GA14957@mordor.localdomain> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/6/2018 2:24 AM, Aishwarya Pant wrote: > Add documentation for core and hardware specific infiniband interfaces. > The descriptions have been collected from git commit logs, reading > through code and data sheets. Some drivers have incomplete doc and are > annotated with the comment '[to be documented]'. > > Signed-off-by: Aishwarya Pant Looks good. One nit below. > --- > Changes in v2: > - Move infiniband interface from testing to stable > - Fix typos > - Update description of cap_mask, port_xmit_constraint_errors and > port_rcv_constraint_errors > - Add doc for hw_counters > - Remove old documentation > > Documentation/ABI/stable/sysfs-class-infiniband | 818 +++++++++++++++++++++++ > Documentation/ABI/testing/sysfs-class-infiniband | 16 - > Documentation/infiniband/sysfs.txt | 129 +--- > 3 files changed, 820 insertions(+), 143 deletions(-) > create mode 100644 Documentation/ABI/stable/sysfs-class-infiniband > delete mode 100644 Documentation/ABI/testing/sysfs-class-infiniband > > diff --git a/Documentation/ABI/stable/sysfs-class-infiniband b/Documentation/ABI/stable/sysfs-class-infiniband > new file mode 100644 > index 000000000000..f9c709a8d0ab > --- /dev/null > +++ b/Documentation/ABI/stable/sysfs-class-infiniband > @@ -0,0 +1,818 @@ > +sysfs interface common for all infiniband devices > +------------------------------------------------- > + > +What: /sys/class/infiniband//node_type > +What: /sys/class/infiniband//node_guid > +What: /sys/class/infiniband//sys_image_guid > +Date: Apr, 2005 > +KernelVersion: v2.6.12 > +Contact: linux-rdma@vger.kernel.org > +Description: > + node_type: (RO) Node type (CA, RNIC, usNIC, usNIC UDP, > + switch or router) > + > + node_guid: (RO) Node GUID > + > + sys_image_guid: (RO) System image GUID > + > + > +What: /sys/class/infiniband//node_desc > +Date: Feb, 2006 > +KernelVersion: v2.6.17 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RW) Update the node description with information such as the > + node's hostname, so that IB network management software can tie > + its view to the real world. > + > + > +What: /sys/class/infiniband//fw_ver > +Date: Jun, 2016 > +KernelVersion: v4.10 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) Display firmware version > + > + > +What: /sys/class/infiniband//ports//lid > +What: /sys/class/infiniband//ports//rate > +What: /sys/class/infiniband//ports//lid_mask_count > +What: /sys/class/infiniband//ports//sm_sl > +What: /sys/class/infiniband//ports//sm_lid > +What: /sys/class/infiniband//ports//state > +What: /sys/class/infiniband//ports//phys_state > +What: /sys/class/infiniband//ports//cap_mask > +Date: Apr, 2005 > +KernelVersion: v2.6.12 > +Contact: linux-rdma@vger.kernel.org > +Description: > + > + lid: (RO) Port LID > + > + rate: (RO) Port data rate (active width * active > + speed) > + > + lid_mask_count: (RO) Port LID mask count > + > + sm_sl: (RO) Subnet manager SL for port's subnet > + > + sm_lid: (RO) Subnet manager LID for port's subnet > + > + state: (RO) Port state (DOWN, INIT, ARMED, ACTIVE or > + ACTIVE_DEFER) > + > + phys_state: (RO) Port physical state (Sleep, Polling, > + LinkUp, etc) > + > + cap_mask: (RO) Port capability mask. 2 bits here are > + settable- IsCommunicationManagementSupported > + (set when CM module is loaded) and IsSM (set via > + open of issmN file). > + > + > +What: /sys/class/infiniband//ports//link_layer > +Date: Oct, 2010 > +KernelVersion: v2.6.37 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) Link layer type information (Infiniband or Ethernet type) > + > + > +What: /sys/class/infiniband//ports//counters/symbol_error > +What: /sys/class/infiniband//ports//counters/port_rcv_errors > +What: /sys/class/infiniband//ports//counters/port_rcv_remote_physical_errors > +What: /sys/class/infiniband//ports//counters/port_rcv_switch_relay_errors > +What: /sys/class/infiniband//ports//counters/link_error_recovery > +What: /sys/class/infiniband//ports//counters/port_xmit_constraint_errors > +What: /sys/class/infiniband//ports//counters/port_rcv_contraint_errors > +What: /sys/class/infiniband//ports//counters/local_link_integrity_errors > +What: /sys/class/infiniband//ports//counters/excessive_buffer_overrun_errors > +What: /sys/class/infiniband//ports//counters/port_xmit_data > +What: /sys/class/infiniband//ports//counters/port_rcv_data > +What: /sys/class/infiniband//ports//counters/port_xmit_packets > +What: /sys/class/infiniband//ports//counters/port_rcv_packets > +What: /sys/class/infiniband//ports//counters/unicast_rcv_packets > +What: /sys/class/infiniband//ports//counters/unicast_xmit_packets > +What: /sys/class/infiniband//ports//counters/multicast_rcv_packets > +What: /sys/class/infiniband//ports//counters/multicast_xmit_packets > +What: /sys/class/infiniband//ports//counters/link_downed > +What: /sys/class/infiniband//ports//counters/port_xmit_discards > +What: /sys/class/infiniband//ports//counters/VL15_dropped > +What: /sys/class/infiniband//ports//counters/port_xmit_wait > +Date: Apr, 2005 > +KernelVersion: v2.6.12 > +Contact: linux-rdma@vger.kernel.org > +Description: > + Errors info: > + ----------- > + > + symbol_error: (RO) Total number of minor link errors detected on > + one or more physical lanes. > + > + port_rcv_errors : (RO) Total number of packets containing an > + error that were received on the port. > + > + port_rcv_remote_physical_errors : (RO) Total number of packets > + marked with the EBP delimiter received on the port. > + > + port_rcv_switch_relay_errors : (RO) Total number of packets > + received on the port that were discarded because they could not > + be forwarded by the switch relay. > + > + link_error_recovery: (RO) Total number of times the Port > + Training state machine has successfully completed the link error > + recovery process. > + > + port_xmit_constraint_errors: (RO) Total number of packets not > + transmitted from the switch physical port due to outbound raw > + filtering or failing outbound partition or IP version check. > + > + port_rcv_constraint_errors: (RO) Total number of packets > + received on the switch physical port that are discarded due to > + inbound raw filtering or failing outbound partition or IP > + version check. Nit: cut 'n paste error I provided here: outbound -> inbound > + > + local_link_integrity_errors: (RO) The number of times that the > + count of local physical errors exceeded the threshold specified > + by LocalPhyErrors > + > + excessive_buffer_overrun_errors: (RO) This counter, indicates an > + input buffer overrun. It indicates possible misconfiguration of > + a port, either by the Subnet Manager (SM) or by user > + intervention. It can also indicate hardware issues or extremely > + poor link signal integrity > + > + Data info: > + --------- > + > + port_xmit_data: (RO) Total number of data octets, divided by 4 > + (lanes), transmitted on all VLs. This is 64 bit counter > + > + port_rcv_data: (RO) Total number of data octets, divided by 4 > + (lanes), received on all VLs. This is 64 bit counter. > + > + port_xmit_packets: (RO) Total number of packets transmitted on > + all VLs from this port. This may include packets with errors. > + This is 64 bit counter. > + > + port_rcv_packets: (RO) Total number of packets (this may include > + packets containing Errors. This is 64 bit counter. > + > + link_downed: (RO) Total number of times the Port Training state > + machine has failed the link error recovery process and downed > + the link. > + > + unicast_rcv_packets: (RO) Total number of unicast packets, > + including unicast packets containing errors. > + > + unicast_xmit_packets: (RO) Total number of unicast packets > + transmitted on all VLs from the port. This may include unicast > + packets with errors. > + > + multicast_rcv_packets: (RO) Total number of multicast packets, > + including multicast packets containing errors. > + > + multicast_xmit_packets: (RO) Total number of multicast packets > + transmitted on all VLs from the port. This may include multicast > + packets with errors. > + > + Misc info: > + --------- > + > + port_xmit_discards: (RO) Total number of outbound packets > + discarded by the port because the port is down or congested. > + > + VL15_dropped: (RO) Number of incoming VL15 packets dropped due > + to resource limitations (e.g., lack of buffers) of the port. > + > + port_xmit_wait: (RO) The number of ticks during which the port > + had data to transmit but no data was sent during the entire tick > + (either because of insufficient credits or because of lack of > + arbitration). > + > + Each of these files contains the corresponding value from the > + port's Performance Management PortCounters attribute, as > + described in the InfiniBand Architecture Specification. > + > + > +What: /sys/class/infiniband//hw_counters/lifespan > +What: /sys/class/infiniband//ports//hw_counters/lifespan > +Date: May, 2016 > +KernelVersion: 4.6 > +Contact: linux-rdma@vger.kernel.org > +Description: > + The optional "hw_counters" subdirectory can be under either the > + parent device or the port subdirectories or both. If present, > + there are a list of counters provided by the hardware. They may > + match some of the counters in the counters directory, but they > + often include many other counters. In addition to the various > + counters, there will be a file named "lifespan" that configures > + how frequently the core should update the counters when they are > + being accessed (counters are not updated if they are not being > + accessed). The lifespan is in milliseconds and defaults to 10 > + unless set to something else by the driver. Users may echo a > + value between 0-10000 to the lifespan file to set the length > + of time between updates in milliseconds. > + > + > +What: /sys/class/infiniband//ports//gid_attrs/ndevs/ > +Date: November 29, 2015 > +KernelVersion: 4.4.0 > +Contact: linux-rdma@vger.kernel.org > +Description: The net-device's name associated with the GID resides > + at index . > + > +What: /sys/class/infiniband//ports//gid_attrs/types/ > +Date: November 29, 2015 > +KernelVersion: 4.4.0 > +Contact: linux-rdma@vger.kernel.org > +Description: The RoCE type of the associated GID resides at index . > + This could either be "IB/RoCE v1" for IB and RoCE v1 based GODs > + or "RoCE v2" for RoCE v2 based GIDs. > + > + > +What: /sys/class/infiniband_mad/umadN/ibdev > +What: /sys/class/infiniband_mad/umadN/port > +What: /sys/class/infiniband_mad/issmN/ibdev > +What: /sys/class/infiniband_mad/issmN/port > +Date: Apr, 2005 > +KernelVersion: v2.6.12 > +Contact: linux-rdma@vger.kernel.org > +Description: > + Each port of each InfiniBand device has a "umad" device and an > + "issm" device attached. For example, a two-port HCA will have > + two umad devices and two issm devices, while a switch will have > + one device of each type (for switch port 0). > + > + ibdev: (RO) Show Infiniband (IB) device name > + > + port: (RO) Display port number > + > + > +What: /sys/class/infiniband_mad/abi_version > +Date: Apr, 2005 > +KernelVersion: v2.6.12 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) Value is incremented if any changes are made that break > + userspace ABI compatibility of umad & issm devices. > + > + > +What: /sys/class/infiniband_cm/ucmN/ibdev > +Date: Oct, 2005 > +KernelVersion: v2.6.14 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) Display Infiniband (IB) device name > + > + > +What: /sys/class/infiniband_cm/abi_version > +Date: Oct, 2005 > +KernelVersion: v2.6.14 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) Value is incremented if any changes are made that break > + userspace ABI compatibility of ucm devices. > + > + > +What: /sys/class/infiniband_verbs/uverbsN/ibdev > +What: /sys/class/infiniband_verbs/uverbsN/abi_version > +Date: Sept, 2005 > +KernelVersion: v2.6.14 > +Contact: linux-rdma@vger.kernel.org > +Description: > + ibdev: (RO) Display Infiniband (IB) device name > + > + abi_version: (RO) Show ABI version of IB device specific > + interfaces. > + > + > +What: /sys/class/infiniband_verbs/abi_version > +Date: Sep, 2005 > +KernelVersion: v2.6.14 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) Value is incremented if any changes are made that break > + userspace ABI compatibility uverbs devices. > + > + > +sysfs interface for Mellanox IB HCA low-level driver (mthca) > +------------------------------------------------------------ > + > +What: /sys/class/infiniband/mthcaX/hw_rev > +What: /sys/class/infiniband/mthcaX/hca_type > +What: /sys/class/infiniband/mthcaX/board_id > +Date: Apr, 2005 > +KernelVersion: v2.6.12 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Host Channel Adapter type: MT23108, MT25208 > + (MT23108 compat mode), MT25208 or MT25204 > + > + board_id: (RO) Manufacturing board ID > + > + > +sysfs interface for Chelsio T3 RDMA Driver (cxgb3) > +-------------------------------------------------- > + > +What: /sys/class/infiniband/cxgb3_X/hw_rev > +What: /sys/class/infiniband/cxgb3_X/hca_type > +What: /sys/class/infiniband/cxgb3_X/board_id > +Date: Feb, 2007 > +KernelVersion: v2.6.21 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) HCA type. Here it is a driver short name. > + It should normally match the name in its bus > + driver structure (e.g. pci_driver::name). > + > + board_id: (RO) Manufacturing board id > + > + > +sysfs interface for Mellanox ConnectX HCA IB driver (mlx4) > +---------------------------------------------------------- > + > +What: /sys/class/infiniband/mlx4_X/hw_rev > +What: /sys/class/infiniband/mlx4_X/hca_type > +What: /sys/class/infiniband/mlx4_X/board_id > +Date: Sep, 2007 > +KernelVersion: v2.6.24 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Host channel adapter type > + > + board_id: (RO) Manufacturing board ID > + > + > +What: /sys/class/infiniband/mlx4_X/iov/ports//gids/ > +What: /sys/class/infiniband/mlx4_X/iov/ports//admin_guids/ > +What: /sys/class/infiniband/mlx4_X/iov/ports//pkeys/ > +What: /sys/class/infiniband/mlx4_X/iov/ports//mcgs/ > +What: /sys/class/infiniband/mlx4_X/iov/ports//ports//gid_idx/0 > +What: /sys/class/infiniband/mlx4_X/iov/ports//ports//pkey_idx/ > +Date: Aug, 2012 > +KernelVersion: v3.6.15 > +Contact: linux-rdma@vger.kernel.org > +Description: > + The sysfs iov directory is used to manage and examine the port > + P_Key and guid paravirtualization. This directory is added only > + for the master -- slaves do not have it. > + > + Under iov/ports, the administrator may examine the gid and P_Key > + tables as they are present in the device (and as are seen in the > + "network view" presented to the SM). > + > + The "pkeys" and "gids" subdirectories contain one file for each > + entry in the port's P_Key or GID table respectively. For > + example, ports/1/pkeys/10 contains the value at index 10 in port > + 1's P_Key table. > + > + gids/: (RO) The physical port gids n = 0..127 > + > + admin_guids/: (RW) Allows examining or changing the > + administrative state of a given GUID > + n = 0..127 > + > + pkeys/: (RO) Displays the contents of the physical > + key table n = 0..126 > + > + mcgs/: (RO) Muticast group table > + > + /gid_idx/0: (RO) Display the GID mapping m = 1..2 > + > + /pkey_idx/: (RW) Writable except for RoCE pkeys. > + m = 1..2, n = 0..126 > + > + Under the iov/ > + directories, the admin may map the index > + numbers in the physical tables (as under > + iov/ports) to the paravirtualized index > + numbers that guests see. > + > + For example, if the administrator, for > + port 1 on guest 2 maps physical pkey > + index 10 to virtual index 1, then that > + guest, whenever it uses its pkey index > + 1, will actually be using the real pkey > + index 10. > + > + > +What: /sys/class/infiniband/mlx4_X/iov//ports//smi_enabled > +What: /sys/class/infiniband/mlx4_X/iov//ports//enable_smi_admin > +Date: May, 2014 > +KernelVersion: v3.15.7 > +Contact: linux-rdma@vger.kernel.org > +Description: > + Enabling QP0 on VFs for selected VF/port. By default, no VFs are > + enabled for QP0 operation. > + > + smi_enabled: (RO) Indicates whether smi is currently enabled > + for the indicated VF/port > + > + enable_smi_admin:(RW) Used by the admin to request that smi > + capability be enabled or disabled for the > + indicated VF/port. 0 = disable, 1 = enable. > + > + The requested enablement will occur at the next reset of the VF > + (e.g. driver restart on the VM which owns the VF). > + > + > +sysfs interface for NetEffect RNIC Low-Level iWARP driver (nes) > +--------------------------------------------------------------- > + > +What: /sys/class/infiniband/nesX/hw_rev > +What: /sys/class/infiniband/nesX/hca_type > +What: /sys/class/infiniband/nesX/board_id > +Date: Feb, 2008 > +KernelVersion: v2.6.25 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Host Channel Adapter type (NEX020) > + > + board_id: (RO) Manufacturing board id > + > + > +sysfs interface for Chelsio T4/T5 RDMA driver (cxgb4) > +----------------------------------------------------- > + > +What: /sys/class/infiniband/cxgb4_X/hw_rev > +What: /sys/class/infiniband/cxgb4_X/hca_type > +What: /sys/class/infiniband/cxgb4_X/board_id > +Date: Apr, 2010 > +KernelVersion: v2.6.35 > +Contact: linux-rdma@vger.kernel.org > +Description: > + > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Driver short name. Should normally match > + the name in its bus driver structure (e.g. > + pci_driver::name) > + > + board_id: (RO) Manufacturing board id. (Vendor + device > + information) > + > + > +sysfs interface for Intel IB driver qib > +--------------------------------------- > + > +What: /sys/class/infiniband/qibX/version > +What: /sys/class/infiniband/qibX/hw_rev > +What: /sys/class/infiniband/qibX/hca_type > +What: /sys/class/infiniband/qibX/board_id > +What: /sys/class/infiniband/qibX/boardversion > +What: /sys/class/infiniband/qibX/nctxts > +What: /sys/class/infiniband/qibX/localbus_info > +What: /sys/class/infiniband/qibX/tempsense > +What: /sys/class/infiniband/qibX/serial > +What: /sys/class/infiniband/qibX/nfreectxts > +What: /sys/class/infiniband/qibX/chip_reset > +Date: May, 2010 > +KernelVersion: v2.6.35 > +Contact: linux-rdma@vger.kernel.org > +Description: > + version: (RO) Display version information of installed software > + and drivers. > + > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Host channel adapter type > + > + board_id: (RO) Manufacturing board id > + > + boardversion: (RO) Current version of the chip architecture > + > + nctxts: (RO) Return the number of user ports (contexts) > + available > + > + localbus_info: (RO) Human readable localbus info > + > + tempsense: (RO) Display temp sense registers in decimal > + > + serial: (RO) Serial number of the HCA > + > + nfreectxts: (RO) The number of free user ports (contexts) > + available. > + > + chip_reset: (WO) Reset the chip if possible by writing > + "reset" to this file. Only allowed if no user > + contexts are open that use chip resources. > + > + > +What: /sys/class/infiniband/qibX/ports/N/sl2vl/[0-15] > +Date: May, 2010 > +KernelVersion: v2.6.35 > +Contact: linux-rdma@vger.kernel.org > +Description: > + (RO) The directory contains 16 files numbered 0-15 that specify > + the Service Level (SL). Listing the SL files returns the Virtual > + Lane (VL) as programmed by the SL. > + > +What: /sys/class/infiniband/qibX/ports/N/CCMgtA/cc_settings_bin > +What: /sys/class/infiniband/qibX/ports/N/CCMgtA/cc_table_bin > +Date: May, 2010 > +KernelVersion: v2.6.35 > +Contact: linux-rdma@vger.kernel.org > +Description: > + Per-port congestion control. Both are binary attributes. > + > + cc_table_bin: (RO) Congestion control table size followed by > + table entries. > + > + cc_settings_bin:(RO) Congestion settings: port control, control > + map and an array of 16 entries for the > + congestion entries - increase, timer, event log > + trigger threshold and the minimum injection rate > + delay. > + > +What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback > +What: /sys/class/infiniband/qibX/ports/N/linkstate/led_override > +What: /sys/class/infiniband/qibX/ports/N/linkstate/hrtbt_enable > +What: /sys/class/infiniband/qibX/ports/N/linkstate/status > +What: /sys/class/infiniband/qibX/ports/N/linkstate/status_str > +Date: May, 2010 > +KernelVersion: v2.6.35 > +Contact: linux-rdma@vger.kernel.org > +Description: > + [to be documented] > + > + loopback: (WO) > + led_override: (WO) > + hrtbt_enable: (RW) > + status: (RO) > + > + status_str: (RO) Displays information about the link state, > + possible cable/switch problems, and hardware > + errors. Possible states are- "Initted", > + "Present", "IB_link_up", "IB_configured" or > + "Fatal_Hardware_Error". > + > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rdma_seq > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rnr_naks > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/other_naks > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_timeouts > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/look_pkts > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/pkt_drops > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/dma_wait > +What: /sys/class/infiniband/qibX/ports/N/diag_counters/unaligned > +Date: May, 2010 > +KernelVersion: v2.6.35 > +Contact: linux-rdma@vger.kernel.org > +Description: > + [to be documented] > + > + > +sysfs interface for Mellanox Connect-IB HCA driver mlx5 > +------------------------------------------------------- > + > +What: /sys/class/infiniband/mlx5_X/hw_rev > +What: /sys/class/infiniband/mlx5_X/hca_type > +What: /sys/class/infiniband/mlx5_X/reg_pages > +What: /sys/class/infiniband/mlx5_X/fw_pages > +Date: Jul, 2013 > +KernelVersion: v3.11 > +Contact: linux-rdma@vger.kernel.org > +Description: > + [to be documented] > + > + > +sysfs interface for Cisco VIC (usNIC) Verbs Driver > +-------------------------------------------------- > + > +What: /sys/class/infiniband/usnic_X/board_id > +What: /sys/class/infiniband/usnic_X/config > +What: /sys/class/infiniband/usnic_X/qp_per_vf > +What: /sys/class/infiniband/usnic_X/max_vf > +What: /sys/class/infiniband/usnic_X/cq_per_vf > +What: /sys/class/infiniband/usnic_X/iface > +Date: Sep, 2013 > +KernelVersion: v3.14 > +Contact: Christian Benvenuti , > + Dave Goodell , > + linux-rdma@vger.kernel.org > +Description: > + > + board_id: (RO) Manufacturing board id > + > + config: (RO) Report the configuration for this PF > + > + qp_per_vf: (RO) Queue pairs per virtual function. > + > + max_vf: (RO) Max virtual functions > + > + cq_per_vf: (RO) Completion queue per virtual function > + > + iface: (RO) Shows which network interface this usNIC > + entry is associated to (visible with ifconfig). > + > +What: /sys/class/infiniband/usnic_X/qpn/summary > +What: /sys/class/infiniband/usnic_X/qpn/context > +Date: Sep, 2013 > +KernelVersion: v3.14 > +Contact: Christian Benvenuti , > + Dave Goodell , > + linux-rdma@vger.kernel.org > +Description: > + [to be documented] > + > + > +sysfs interface for Emulex RoCE HCA Driver > +------------------------------------------ > + > +What: /sys/class/infiniband/ocrdmaX/hw_rev > +Date: Feb, 2014 > +KernelVersion: v3.14 > +Description: > + hw_rev: (RO) Hardware revision number > + > +What: /sys/class/infiniband/ocrdmaX/hca_type > +Date: Jun, 2014 > +KernelVersion: v3.16 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hca_type: (RO) Display FW version > + > + > +sysfs interface for Intel Omni-Path driver (HFI1) > +------------------------------------------------- > + > +What: /sys/class/infiniband/hfi1_X/hw_rev > +What: /sys/class/infiniband/hfi1_X/board_id > +What: /sys/class/infiniband/hfi1_X/nctxts > +What: /sys/class/infiniband/hfi1_X/serial > +What: /sys/class/infiniband/hfi1_X/chip_reset > +What: /sys/class/infiniband/hfi1_X/boardversion > +What: /sys/class/infiniband/hfi1_X/nfreectxts > +What: /sys/class/infiniband/hfi1_X/tempsense > +Date: May, 2016 > +KernelVersion: v4.6 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + board_id: (RO) Manufacturing board id > + > + nctxts: (RO) Total contexts available. > + > + serial: (RO) Board serial number > + > + chip_reset: (WO) Write "reset" to this file to reset the > + chip if possible. Only allowed if no user > + contexts are open that use chip resources. > + > + boardversion: (RO) Human readable board info > + > + nfreectxts: (RO) The number of free user ports (contexts) > + available. > + > + tempsense: (RO) Thermal sense information > + > + > +What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin > +What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_table_bin > +What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_prescan > +Date: May, 2016 > +KernelVersion: v4.6 > +Contact: linux-rdma@vger.kernel.org > +Description: > + Per-port congestion control. > + > + cc_table_bin: (RO) CCA tables used by PSM2 Congestion control > + table size followed by table entries. Binary > + attribute. > + > + cc_settings_bin:(RO) Congestion settings: port control, control > + map and an array of 16 entries for the > + congestion entries - increase, timer, event log > + trigger threshold and the minimum injection rate > + delay. Binary attribute. > + > + cc_prescan: (RW) enable prescanning for faster BECN > + response. Write "on" to enable and "off" to > + disable. > + > +What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31] > +What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] > +What: /sys/class/infiniband/hfi1_X/ports/N/vl2mtu/[0-15] > +Date: May, 2016 > +KernelVersion: v4.6 > +Contact: linux-rdma@vger.kernel.org > +Description: > + sc2vl/: (RO) 32 files (0 - 31) used to translate sl->vl > + > + sl2sc/: (RO) 32 files (0 - 31) used to translate sl->sc > + > + vl2mtu/: (RO) 16 files (0 - 15) used to determine MTU for vl > + > + > +What: /sys/class/infiniband/hfi1_X/sdma_N/cpu_list > +What: /sys/class/infiniband/hfi1_X/sdma_N/vl > +Date: Sept, 2016 > +KernelVersion: v4.8 > +Contact: linux-rdma@vger.kernel.org > +Description: > + sdma/ contains one directory per sdma engine (0 - 15) > + > + cpu_list: (RW) List of cpus for user-process to sdma > + engine assignment. > + > + vl: (RO) Displays the virtual lane (vl) the sdma > + engine maps to. > + > + This interface gives the user control on the affinity settings > + for the device. As an example, to set an sdma engine irq > + affinity and thread affinity of a user processes to use the > + sdma engine, which is "near" in terms of NUMA configuration, or > + physical cpu location, the user will do: > + > + echo "3" > /proc/irq//smp_affinity_list > + echo "4-7" > /sys/devices/.../sdma3/cpu_list > + cat /sys/devices/.../sdma3/vl > + 0 > + echo "8" > /proc/irq//smp_affinity_list > + echo "9-12" > /sys/devices/.../sdma4/cpu_list > + cat /sys/devices/.../sdma4/vl > + 1 > + > + to make sure that when a process runs on cpus 4,5,6, or 7, and > + uses vl=0, then sdma engine 3 is selected by the driver, and > + also the interrupt of the sdma engine 3 is steered to cpu 3. > + Similarly, when a process runs on cpus 9,10,11, or 12 and sets > + vl=1, then engine 4 will be selected and the irq of the sdma > + engine 4 is steered to cpu 8. This assumes that in the above N > + is the irq number of "sdma3", and M is irq number of "sdma4" in > + the /proc/interrupts file. > + > + > +sysfs interface for Intel(R) X722 iWARP i40iw driver > +---------------------------------------------------- > + > +What: /sys/class/infiniband/i40iwX/hw_rev > +What: /sys/class/infiniband/i40iwX/hca_type > +What: /sys/class/infiniband/i40iwX/board_id > +Date: Jan, 2016 > +KernelVersion: v4.10 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Show HCA type (I40IW) > + > + board_id: (RO) I40IW board ID > + > + > +sysfs interface for QLogic qedr NIC Driver > +------------------------------------------ > + > +What: /sys/class/infiniband/qedrX/hw_rev > +What: /sys/class/infiniband/qedrX/hca_type > +Date: Oct, 2016 > +KernelVersion: v4.10 > +Contact: linux-rdma@vger.kernel.org > +Description: > + > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Display HCA type > + > + > +sysfs interface for VMware Paravirtual RDMA driver > +-------------------------------------------------- > + > +What: /sys/class/infiniband/vmw_pvrdmaX/hw_rev > +What: /sys/class/infiniband/vmw_pvrdmaX/hca_type > +What: /sys/class/infiniband/vmw_pvrdmaX/board_id > +Date: Oct, 2016 > +KernelVersion: v4.10 > +Contact: linux-rdma@vger.kernel.org > +Description: > + > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Host channel adapter type > + > + board_id: (RO) Display PVRDMA manufacturing board ID > + > + > +sysfs interface for Broadcom NetXtreme-E RoCE driver > +---------------------------------------------------- > + > +What: /sys/class/infiniband/bnxt_reX/hw_rev > +What: /sys/class/infiniband/bnxt_reX/hca_type > +Date: Feb, 2017 > +KernelVersion: v4.11 > +Contact: linux-rdma@vger.kernel.org > +Description: > + hw_rev: (RO) Hardware revision number > + > + hca_type: (RO) Host channel adapter type > diff --git a/Documentation/ABI/testing/sysfs-class-infiniband b/Documentation/ABI/testing/sysfs-class-infiniband > deleted file mode 100644 > index a86abe66a316..000000000000 > --- a/Documentation/ABI/testing/sysfs-class-infiniband > +++ /dev/null > @@ -1,16 +0,0 @@ > -What: /sys/class/infiniband//ports//gid_attrs/ndevs/ > -Date: November 29, 2015 > -KernelVersion: 4.4.0 > -Contact: linux-rdma@vger.kernel.org > -Description: The net-device's name associated with the GID resides > - at index . > - > -What: /sys/class/infiniband//ports//gid_attrs/types/ > -Date: November 29, 2015 > -KernelVersion: 4.4.0 > -Contact: linux-rdma@vger.kernel.org > -Description: The RoCE type of the associated GID resides at index . > - This could either be "IB/RoCE v1" for IB and RoCE v1 based GODs > - or "RoCE v2" for RoCE v2 based GIDs. > - > - > diff --git a/Documentation/infiniband/sysfs.txt b/Documentation/infiniband/sysfs.txt > index 77570d16b170..9fab5062f84b 100644 > --- a/Documentation/infiniband/sysfs.txt > +++ b/Documentation/infiniband/sysfs.txt > @@ -1,129 +1,4 @@ > SYSFS FILES > > - For each InfiniBand device, the InfiniBand drivers create the > - following files under /sys/class/infiniband/: > - > - node_type - Node type (CA, switch or router) > - node_guid - Node GUID > - sys_image_guid - System image GUID > - > - In addition, there is a "ports" subdirectory, with one subdirectory > - for each port. For example, if mthca0 is a 2-port HCA, there will > - be two directories: > - > - /sys/class/infiniband/mthca0/ports/1 > - /sys/class/infiniband/mthca0/ports/2 > - > - (A switch will only have a single "0" subdirectory for switch port > - 0; no subdirectory is created for normal switch ports) > - > - In each port subdirectory, the following files are created: > - > - cap_mask - Port capability mask > - lid - Port LID > - lid_mask_count - Port LID mask count > - rate - Port data rate (active width * active speed) > - sm_lid - Subnet manager LID for port's subnet > - sm_sl - Subnet manager SL for port's subnet > - state - Port state (DOWN, INIT, ARMED, ACTIVE or ACTIVE_DEFER) > - phys_state - Port physical state (Sleep, Polling, LinkUp, etc) > - > - There is also a "counters" subdirectory, with files > - > - VL15_dropped > - excessive_buffer_overrun_errors > - link_downed > - link_error_recovery > - local_link_integrity_errors > - port_rcv_constraint_errors > - port_rcv_data > - port_rcv_errors > - port_rcv_packets > - port_rcv_remote_physical_errors > - port_rcv_switch_relay_errors > - port_xmit_constraint_errors > - port_xmit_data > - port_xmit_discards > - port_xmit_packets > - symbol_error > - > - Each of these files contains the corresponding value from the port's > - Performance Management PortCounters attribute, as described in > - section 16.1.3.5 of the InfiniBand Architecture Specification. > - > - The "pkeys" and "gids" subdirectories contain one file for each > - entry in the port's P_Key or GID table respectively. For example, > - ports/1/pkeys/10 contains the value at index 10 in port 1's P_Key > - table. > - > - There is an optional "hw_counters" subdirectory that may be under either > - the parent device or the port subdirectories or both. If present, > - there are a list of counters provided by the hardware. They may match > - some of the counters in the counters directory, but they often include > - many other counters. In addition to the various counters, there will > - be a file named "lifespan" that configures how frequently the core > - should update the counters when they are being accessed (counters are > - not updated if they are not being accessed). The lifespan is in milli- > - seconds and defaults to 10 unless set to something else by the driver. > - Users may echo a value between 0 - 10000 to the lifespan file to set > - the length of time between updates in milliseconds. > - > -MTHCA > - > - The Mellanox HCA driver also creates the files: > - > - hw_rev - Hardware revision number > - fw_ver - Firmware version > - hca_type - HCA type: "MT23108", "MT25208 (MT23108 compat mode)", > - or "MT25208" > - > -HFI1 > - > - The hfi1 driver also creates these additional files: > - > - hw_rev - hardware revision > - board_id - manufacturing board id > - tempsense - thermal sense information > - serial - board serial number > - nfreectxts - number of free user contexts > - nctxts - number of allowed contexts (PSM2) > - chip_reset - diagnostic (root only) > - boardversion - board version > - > - sdma/ - one directory per sdma engine (0 - 15) > - sdma/cpu_list - read-write, list of cpus for user-process to sdma > - engine assignment. > - sdma/vl - read-only, vl the sdma engine maps to. > - > - The new interface will give the user control on the affinity settings > - for the hfi1 device. > - As an example, to set an sdma engine irq affinity and thread affinity > - of a user processes to use the sdma engine, which is "near" in terms > - of NUMA configuration, or physical cpu location, the user will do: > - > - echo "3" > /proc/irq//smp_affinity_list > - echo "4-7" > /sys/devices/.../sdma3/cpu_list > - cat /sys/devices/.../sdma3/vl > - 0 > - echo "8" > /proc/irq//smp_affinity_list > - echo "9-12" > /sys/devices/.../sdma4/cpu_list > - cat /sys/devices/.../sdma4/vl > - 1 > - > - to make sure that when a process runs on cpus 4,5,6, or 7, > - and uses vl=0, then sdma engine 3 is selected by the driver, > - and also the interrupt of the sdma engine 3 is steered to cpu 3. > - Similarly, when a process runs on cpus 9,10,11, or 12 and sets vl=1, > - then engine 4 will be selected and the irq of the sdma engine 4 is > - steered to cpu 8. > - This assumes that in the above N is the irq number of "sdma3", > - and M is irq number of "sdma4" in the /proc/interrupts file. > - > - ports/1/ > - CCMgtA/ > - cc_settings_bin - CCA tables used by PSM2 > - cc_table_bin > - cc_prescan - enable prescaning for faster BECN response > - sc2v/ - 32 files (0 - 31) used to translate sl->vl > - sl2sc/ - 32 files (0 - 31) used to translate sl->sc > - vl2mtu/ - 16 (0 - 15) files used to determine MTU for vl > +The sysfs interface has moved to > +Documentation/ABI/stable/sysfs-class-infiniband. >