ABI stable symbols¶
Documents the interfaces that the developer has defined to be stable.
Userspace programs are free to use these interfaces with no restrictions, and backward compatibility for them will be guaranteed for at least 2 years.
Most interfaces (like syscalls) are expected to never change and always be available.
What:
/dev/fw[0-9]+ |
Defined on file firewire-cdev
The character device files /dev/fw* are the interface between firewire-core and IEEE 1394 device drivers implemented in userspace. The ioctl(2)- and read(2)-based ABI is defined and documented in <linux/firewire-cdev.h>.
This ABI offers most of the features which firewire-core also exposes to kernelspace IEEE 1394 drivers.
Each /dev/fw* is associated with one IEEE 1394 node, which can be remote or local nodes. Operations on a /dev/fw* file have different scope:
- The 1394 node which is associated with the file:
Asynchronous request transmission
Get the Configuration ROM
Query node ID
Query maximum speed of the path between this node and local node
- The 1394 bus (i.e. “card”) to which the node is attached to:
Isochronous stream transmission and reception
Asynchronous stream transmission and reception
Asynchronous broadcast request transmission
PHY packet transmission and reception
Allocate, reallocate, deallocate isochronous resources (channels, bandwidth) at the bus’s IRM
Query node IDs of local node, root node, IRM, bus manager
Query cycle time
Bus reset initiation, bus reset event reception
- All 1394 buses:
Allocation of IEEE 1212 address ranges on the local link layers, reception of inbound requests to such an address range, asynchronous response transmission to inbound requests
Addition of descriptors or directories to the local nodes’ Configuration ROM
Due to the different scope of operations and in order to let userland implement different access permission models, some operations are restricted to /dev/fw* files that are associated with a local node:
Addition of descriptors or directories to the local nodes’ Configuration ROM
PHY packet transmission and reception
A /dev/fw* file remains associated with one particular node during its entire life time. Bus topology changes, and hence node ID changes, are tracked by firewire-core. ABI users do not need to be aware of topology.
The following file operations are supported:
open(2) Currently the only useful flags are O_RDWR.
ioctl(2) Initiate various actions. Some take immediate effect, others are performed asynchronously while or after the ioctl returns. See the inline documentation in <linux/firewire-cdev.h> for descriptions of all ioctls.
poll(2), select(2), epoll_wait(2) etc. Watch for events to become available to be read.
read(2) Receive various events. There are solicited events like outbound asynchronous transaction completion or isochronous buffer completion, and unsolicited events such as bus resets, request reception, or PHY packet reception. Always use a read buffer which is large enough to receive the largest event that could ever arrive. See <linux/firewire-cdev.h> for descriptions of all event types and for which ioctls affect reception of events.
mmap(2) Allocate a DMA buffer for isochronous reception or transmission and map it into the process address space. The arguments should be used as follows: addr = NULL, length = the desired buffer size, i.e. number of packets times size of largest packet, prot = at least PROT_READ for reception and at least PROT_WRITE for transmission, flags = MAP_SHARED, fd = the handle to the /dev/fw*, offset = 0.
Isochronous reception works in packet-per-buffer fashion except for multichannel reception which works in buffer-fill mode.
munmap(2) Unmap the isochronous I/O buffer from the process address space.
close(2) Besides stopping and freeing I/O contexts that were associated with the file descriptor, back out any changes to the local nodes’ Configuration ROM. Deallocate isochronous channels and bandwidth at the IRM that were marked for kernel-assisted re- and deallocation.
What:
/sys/bus/firewire/devices/*/ |
Defined on file sysfs-bus-firewire
Attributes common to IEEE 1394 node devices and unit devices. Read-only. Mutable during the node device’s lifetime. Immutable during the unit device’s lifetime. See IEEE 1212 for semantic definitions.
These attributes are only created if the root directory of an IEEE 1394 node or the unit directory of an IEEE 1394 unit actually contains according entries.
- hardware_version
Hexadecimal string representation of an u24.
- hardware_version_name
Contents of a respective textual descriptor leaf.
- model
Hexadecimal string representation of an u24.
- model_name
Contents of a respective textual descriptor leaf.
- specifier_id
Hexadecimal string representation of an u24. Mandatory in unit directories according to IEEE 1212.
- vendor
Hexadecimal string representation of an u24. Mandatory in the root directory according to IEEE 1212.
- vendor_name
Contents of a respective textual descriptor leaf.
- version
Hexadecimal string representation of an u24. Mandatory in unit directories according to IEEE 1212.
What:
/sys/bus/firewire/devices/fw[0-9]+/ |
Defined on file sysfs-bus-firewire
IEEE 1394 node device attributes. Read-only. Mutable during the node device’s lifetime. See IEEE 1212 for semantic definitions.
- config_rom
Contents of the Configuration ROM register. Binary attribute; an array of host-endian u32.
- guid
The node’s EUI-64 in the bus information block of Configuration ROM. Hexadecimal string representation of an u64.
What:
/sys/bus/firewire/devices/fw[0-9]+/is_local |
Defined on file sysfs-bus-firewire
IEEE 1394 node device attribute. Read-only and immutable. Values: 1: The sysfs entry represents a local node (a controller card).
0: The sysfs entry represents a remote node.
What:
/sys/bus/firewire/devices/fw[0-9]+/units |
Defined on file sysfs-bus-firewire
IEEE 1394 node device attribute. Read-only. Mutable during the node device’s lifetime. See IEEE 1212 for semantic definitions.
- units
Summary of all units present in an IEEE 1394 node. Contains space-separated tuples of specifier_id and version of each unit present in the node. Specifier_id and version are hexadecimal string representations of u24 of the respective unit directory entries. Specifier_id and version within each tuple are separated by a colon.
What:
/sys/bus/firewire/devices/fw[0-9]+[.][0-9]+/ |
Defined on file sysfs-bus-firewire
IEEE 1394 unit device attributes. Read-only. Immutable during the unit device’s lifetime. See IEEE 1212 for semantic definitions.
- modalias
Same as MODALIAS in the uevent at device creation.
- rom_index
Offset of the unit directory within the parent device’s (node device’s) Configuration ROM, in quadlets. Decimal string representation.
What:
/sys/bus/firewire/drivers/sbp2/fw*/host*/target*/*:*:*:*/ieee1394_id |
Defined on file sysfs-bus-firewire
SCSI target port identifier and logical unit identifier of a logical unit of an SBP-2 target. The identifiers are specified in SAM-2…SAM-4 annex A. They are persistent and world-wide unique properties the SBP-2 attached target.
Read-only attribute, immutable during the target’s lifetime. Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: Colon-separated hexadecimal string representations of
u64 EUI-64 : u24 directory_ID : u16 LUN
without 0x prefixes, without whitespace. The former sbp2 driver (removed in 2.6.37 after being superseded by firewire-sbp2) used a somewhat shorter format which was not as close to SAM.
What:
/sys/bus/nvmem/devices/…/nvmem |
Defined on file sysfs-bus-nvmem
This file allows user to read/write the raw NVMEM contents. Permissions for write to this file depends on the nvmem provider configuration. Note: This file is only present if CONFIG_NVMEM_SYSFS is enabled
ex:
hexdump /sys/bus/nvmem/devices/qfprom0/nvmem
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00
0000000 0000 0000 0000 0000 0000 0000 0000 0000
...
*
0001000
What:
/sys/bus/pci/drivers/qla2xxx/…/devices/* |
Defined on file sysfs-driver-qla2xxx
qla2xxx-udev.sh currently looks for uevent CHANGE events to signal a firmware-dump has been generated by the driver and is ready for retrieval.
What:
/sys/bus/platform/drivers/aspeed-vuart*/sirq |
Defined on file sysfs-driver-aspeed-vuart
Configures which interrupt number the host side of the UART will appear on the host <-> BMC LPC bus.
What:
/sys/bus/platform/drivers/aspeed-vuart/*/lpc_address |
Defined on file sysfs-driver-aspeed-vuart
Configures which IO port the host side of the UART will appear on the host <-> BMC LPC bus.
What:
/sys/bus/usb/device/…/avoid_reset_quirk |
Defined on file sysfs-bus-usb
Writing 1 to this file tells the kernel that this device will morph into another mode when it is reset. Drivers will not use reset for error handling for such devices.
What:
/sys/bus/usb/device/…/power/active_duration |
Defined on file sysfs-bus-usb
If CONFIG_PM is enabled, then this file is present. When read, it returns the total time (in msec) that the USB device has been active, i.e. not in a suspended state. This file is read-only.
Tools can use this file and the connected_duration file to compute the percentage of time that a device has been active. For example:
echo $((100 * `cat active_duration` / `cat connected_duration`))
will give an integer percentage. Note that this does not account for counter wrap.
What:
/sys/bus/usb/device/…/power/connected_duration |
Defined on file sysfs-bus-usb
If CONFIG_PM is enabled, then this file is present. When read, it returns the total time (in msec) that the USB device has been connected to the machine. This file is read-only.
What:
/sys/bus/usb/devices/…/bConfigurationValue |
Defined on file sysfs-bus-usb
bConfigurationValue of the active configuration for the device. Writing 0 or -1 to bConfigurationValue will reset the active configuration (unconfigure the device). Writing another value will change the active configuration.
Note that some devices, in violation of the USB spec, have a configuration with a value equal to 0. Writing 0 to bConfigurationValue for these devices will install that configuration, rather then unconfigure the device.
Writing -1 will always unconfigure the device.
What:
/sys/bus/usb/devices/…/busnum |
Defined on file sysfs-bus-usb
Bus-number of the USB-bus the device is connected to.
What:
/sys/bus/usb/devices/…/descriptors |
Defined on file sysfs-bus-usb
Binary file containing cached descriptors of the device. The binary data consists of the device descriptor followed by the descriptors for each configuration of the device. Note that the wTotalLength of the config descriptors can not be trusted, as the device may have a smaller config descriptor than it advertises. The bLength field of each (sub) descriptor can be trusted, and can be used to seek forward one (sub) descriptor at a time until the next config descriptor is found. All descriptors read from this file are in bus-endian format
What:
/sys/bus/usb/devices/…/devnum |
Defined on file sysfs-bus-usb
Device address on the USB bus.
What:
/sys/bus/usb/devices/…/power/autosuspend |
Defined on file sysfs-bus-usb
Each USB device directory will contain a file named power/autosuspend. This file holds the time (in seconds) the device must be idle before it will be autosuspended. 0 means the device will be autosuspended as soon as possible. Negative values will prevent the device from being autosuspended at all, and writing a negative value will resume the device if it is already suspended.
The autosuspend delay for newly-created devices is set to the value of the usbcore.autosuspend module parameter.
What:
/sys/bus/usb/devices/…/power/persist |
Defined on file sysfs-bus-usb
USB device directories can contain a file named power/persist. The file holds a boolean value (0 or 1) indicating whether or not the “USB-Persist” facility is enabled for the device. For hubs this facility is always enabled and their device directories will not contain this file.
For more information, see Documentation/driver-api/usb/persist.rst.
What:
/sys/bus/usb/devices/…/speed |
Defined on file sysfs-bus-usb
Speed the device is connected with to the usb-host in Mbit / second. IE one of 1.5 / 12 / 480 / 5000.
What:
/sys/bus/usb/devices/<busnum>-<port[.port]>…:<config num>-<interface num>/supports_autosuspend |
Defined on file sysfs-bus-usb
When read, this file returns 1 if the interface driver for this interface supports autosuspend. It also returns 1 if no driver has claimed this interface, as an unclaimed interface will not stop the device from being autosuspended if all other interface drivers are idle. The file returns 0 if autosuspend support has not been added to the driver.
What:
/sys/bus/usb/drivers/usbtmc/*/interface_capabilities |
/sys/bus/usb/drivers/usbtmc/*/device_capabilities |
Defined on file sysfs-driver-usb-usbtmc
These files show the various USB TMC capabilities as described by the device itself. The full description of the bitfields can be found in the USB TMC documents from the USB-IF entitled “Universal Serial Bus Test and Measurement Class Specification (USBTMC) Revision 1.0” section 4.2.1.8.
The files are read only.
What:
/sys/bus/usb/drivers/usbtmc/*/usb488_interface_capabilities |
/sys/bus/usb/drivers/usbtmc/*/usb488_device_capabilities |
Defined on file sysfs-driver-usb-usbtmc
These files show the various USB TMC capabilities as described by the device itself. The full description of the bitfields can be found in the USB TMC documents from the USB-IF entitled “Universal Serial Bus Test and Measurement Class, Subclass USB488 Specification (USBTMC-USB488) Revision 1.0” section 4.2.2.
The files are read only.
What:
/sys/bus/vmbus/devices/<UUID>/channel_vp_mapping |
Defined on file sysfs-bus-vmbus
The mapping of which primary/sub channels are bound to which Virtual Processors. Format: <channel’s child_relid:the bound cpu’s number>
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N> |
Defined on file sysfs-bus-vmbus
Directory for per-channel information NN is the VMBUS relid associtated with the channel.
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/cpu |
Defined on file sysfs-bus-vmbus
VCPU (sub)channel is affinitized to VCPU (sub)channel is affinitized to
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/events |
Defined on file sysfs-bus-vmbus
Number of times we have signaled the host
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/in_mask |
Defined on file sysfs-bus-vmbus
Host to guest channel interrupt mask
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/interrupts |
Defined on file sysfs-bus-vmbus
Number of times we have taken an interrupt (incoming)
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/intr_in_full |
Defined on file sysfs-bus-vmbus
Number of guest to host interrupts caused by the inbound ring buffer transitioning from full to not full while a packet is waiting for buffer space to become available
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/intr_out_empty |
Defined on file sysfs-bus-vmbus
Number of guest to host interrupts caused by the outbound ring buffer transitioning from empty to not empty
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/latency |
Defined on file sysfs-bus-vmbus
Channel signaling latency. This file is available only for performance critical channels (storage, network, etc.) that use the monitor page mechanism.
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/monitor_id |
Defined on file sysfs-bus-vmbus
Monitor bit associated with channel. This file is available only for performance critical channels (storage, network, etc.) that use the monitor page mechanism.
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/out_full_first |
Defined on file sysfs-bus-vmbus
Number of write operations that were the first to encounter an outbound ring buffer full condition
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/out_full_total |
Defined on file sysfs-bus-vmbus
Total number of write operations that encountered an outbound ring buffer full condition
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/out_mask |
Defined on file sysfs-bus-vmbus
Guest to host channel interrupt mask
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/pending |
Defined on file sysfs-bus-vmbus
Channel interrupt pending state. This file is available only for performance critical channels (storage, network, etc.) that use the monitor page mechanism.
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/read_avail |
Defined on file sysfs-bus-vmbus
Bytes available to read
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/ring |
Defined on file sysfs-bus-vmbus
Binary file created by uio_hv_generic for ring buffer
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/subchannel_id |
Defined on file sysfs-bus-vmbus
Subchannel ID associated with VMBUS channel
What:
/sys/bus/vmbus/devices/<UUID>/channels/<N>/write_avail |
Defined on file sysfs-bus-vmbus
Bytes available to write
What:
/sys/bus/vmbus/devices/<UUID>/class_id |
Defined on file sysfs-bus-vmbus
The VMBus interface type GUID of the device
What:
/sys/bus/vmbus/devices/<UUID>/device |
Defined on file sysfs-bus-vmbus
The 16 bit device ID of the device
What:
/sys/bus/vmbus/devices/<UUID>/device_id |
Defined on file sysfs-bus-vmbus
The VMBus interface instance GUID of the device
What:
/sys/bus/vmbus/devices/<UUID>/id |
Defined on file sysfs-bus-vmbus
The VMBus child_relid of the device’s primary channel
What:
/sys/bus/vmbus/devices/<UUID>/numa_node |
Defined on file sysfs-bus-vmbus
This NUMA node to which the VMBUS device is attached, or -1 if the node is unknown.
What:
/sys/bus/vmbus/devices/<UUID>/vendor |
Defined on file sysfs-bus-vmbus
The 16 bit vendor ID of the device
What:
/sys/bus/w1/devices/…/eeprom |
Defined on file sysfs-driver-w1_ds28e04
read/write the contents of the EEPROM memory of the DS28E04-100 see Documentation/w1/slaves/w1_ds28e04.rst for detailed information
What:
/sys/bus/w1/devices/…/pio |
Defined on file sysfs-driver-w1_ds28e04
read/write the contents of the two PIO’s of the DS28E04-100 see Documentation/w1/slaves/w1_ds28e04.rst for detailed information
What:
/sys/bus/w1/devices/…/w1_master_timeout_us |
Defined on file sysfs-bus-w1
Bus scanning interval, microseconds component. Some of 1-Wire devices commonly associated with physical access control systems are attached/generate presence for as short as 100 ms - hence the tens-to-hundreds milliseconds scan intervals are required. see Documentation/w1/w1-generic.rst for detailed information.
What:
/sys/bus/w1/devices/…/w1_seq |
Defined on file sysfs-driver-w1_ds28ea00
Support for the DS28EA00 chain sequence function see Documentation/w1/slaves/w1_therm.rst for detailed information
What:
/sys/bus/xen-backend/devices/*/devtype |
Defined on file sysfs-bus-xen-backend
The type of the device. e.g., one of: ‘vbd’ (block), ‘vif’ (network), or ‘vfb’ (framebuffer).
What:
/sys/bus/xen-backend/devices/*/nodename |
Defined on file sysfs-bus-xen-backend
XenStore node (under /local/domain/NNN/) for this backend device.
What:
/sys/bus/xen-backend/devices/*/state |
Defined on file sysfs-bus-xen-backend
The state of the device. One of: ‘Unknown’, ‘Initialising’, ‘Initialised’, ‘Connected’, ‘Closing’, ‘Closed’, ‘Reconfiguring’, ‘Reconfigured’.
What:
/sys/bus/xen-backend/devices/vbd-*/mode |
Defined on file sysfs-bus-xen-backend
Whether the block device is read-only (‘r’) or read-write (‘w’).
What:
/sys/bus/xen-backend/devices/vbd-*/physical_device |
Defined on file sysfs-bus-xen-backend
The major:minor number (in hexidecimal) of the physical device providing the storage for this backend block device.
What:
/sys/bus/xen-backend/devices/vbd-*/statistics/f_req |
Defined on file sysfs-bus-xen-backend
Number of flush requests from the frontend.
What:
/sys/bus/xen-backend/devices/vbd-*/statistics/oo_req |
Defined on file sysfs-bus-xen-backend
Number of requests delayed because the backend was too busy processing previous requests.
What:
/sys/bus/xen-backend/devices/vbd-*/statistics/rd_req |
Defined on file sysfs-bus-xen-backend
Number of read requests from the frontend.
What:
/sys/bus/xen-backend/devices/vbd-*/statistics/rd_sect |
Defined on file sysfs-bus-xen-backend
Number of sectors read by the frontend.
What:
/sys/bus/xen-backend/devices/vbd-*/statistics/wr_req |
Defined on file sysfs-bus-xen-backend
Number of write requests from the frontend.
What:
/sys/bus/xen-backend/devices/vbd-*/statistics/wr_sect |
Defined on file sysfs-bus-xen-backend
Number of sectors written by the frontend.
What:
/sys/class/backlight/<backlight>/actual_brightness |
Defined on file sysfs-class-backlight
Show the actual brightness by querying the hardware.
What:
/sys/class/backlight/<backlight>/bl_power |
Defined on file sysfs-class-backlight
Control BACKLIGHT power, values are FB_BLANK_* from fb.h
FB_BLANK_UNBLANK (0) : power on.
FB_BLANK_POWERDOWN (4) : power off
What:
/sys/class/backlight/<backlight>/brightness |
Defined on file sysfs-class-backlight
Control the brightness for this <backlight>. Values are between 0 and max_brightness. This file will also show the brightness level stored in the driver, which may not be the actual brightness (see actual_brightness).
What:
/sys/class/backlight/<backlight>/max_brightness |
Defined on file sysfs-class-backlight
Maximum brightness for <backlight>.
What:
/sys/class/backlight/<backlight>/type |
Defined on file sysfs-class-backlight
The type of interface controlled by <backlight>. “firmware”: The driver uses a standard firmware interface “platform”: The driver uses a platform-specific interface “raw”: The driver controls hardware registers directly
In the general case, when multiple backlight interfaces are available for a single device, firmware control should be preferred to platform control should be preferred to raw control. Using a firmware interface reduces the probability of confusion with the hardware and the OS independently updating the backlight state. Platform interfaces are mostly a holdover from pre-standardisation of firmware interfaces.
What:
/sys/class/infiniband/<device-name>/hw_counters/lifespan |
/sys/class/infiniband/<device-name>/ports/<port-num>/hw_counters/lifespan |
Defined on file sysfs-class-infiniband
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/<device>/fw_ver |
Defined on file sysfs-class-infiniband
(RO) Display firmware version
What:
/sys/class/infiniband/<device>/node_desc |
Defined on file sysfs-class-infiniband
(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/<device>/node_type |
/sys/class/infiniband/<device>/node_guid |
/sys/class/infiniband/<device>/sys_image_guid |
Defined on file sysfs-class-infiniband
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/<device>/ports/<port-num>/counters/symbol_error |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_remote_physical_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_switch_relay_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/link_error_recovery |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_constraint_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_contraint_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/local_link_integrity_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/excessive_buffer_overrun_errors |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_data |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_data |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_packets |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_packets |
/sys/class/infiniband/<device>/ports/<port-num>/counters/unicast_rcv_packets |
/sys/class/infiniband/<device>/ports/<port-num>/counters/unicast_xmit_packets |
/sys/class/infiniband/<device>/ports/<port-num>/counters/multicast_rcv_packets |
/sys/class/infiniband/<device>/ports/<port-num>/counters/multicast_xmit_packets |
/sys/class/infiniband/<device>/ports/<port-num>/counters/link_downed |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_discards |
/sys/class/infiniband/<device>/ports/<port-num>/counters/VL15_dropped |
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_wait |
Defined on file sysfs-class-infiniband
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 inbound partition or IP version check.
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/<device>/ports/<port-num>/lid |
/sys/class/infiniband/<device>/ports/<port-num>/rate |
/sys/class/infiniband/<device>/ports/<port-num>/lid_mask_count |
/sys/class/infiniband/<device>/ports/<port-num>/sm_sl |
/sys/class/infiniband/<device>/ports/<port-num>/sm_lid |
/sys/class/infiniband/<device>/ports/<port-num>/state |
/sys/class/infiniband/<device>/ports/<port-num>/phys_state |
/sys/class/infiniband/<device>/ports/<port-num>/cap_mask |
Defined on file sysfs-class-infiniband
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/<device>/ports/<port-num>/link_layer |
Defined on file sysfs-class-infiniband
(RO) Link layer type information (Infiniband or Ethernet type)
What:
/sys/class/infiniband/<hca>/ports/<port-number>/gid_attrs/ndevs/<gid-index> |
Defined on file sysfs-class-infiniband
The net-device’s name associated with the GID resides at index <gid-index>.
What:
/sys/class/infiniband/<hca>/ports/<port-number>/gid_attrs/types/<gid-index> |
Defined on file sysfs-class-infiniband
The RoCE type of the associated GID resides at index <gid-index>. This could either be “IB/RoCE v1” for IB and RoCE v1 based GIDs or “RoCE v2” for RoCE v2 based GIDs.
What:
/sys/class/infiniband/bnxt_reX/hw_rev |
/sys/class/infiniband/bnxt_reX/hca_type |
Defined on file sysfs-class-infiniband
hw_rev: |
(RO) |
Hardware revision number |
hca_type: |
(RO) |
Host channel adapter type |
What:
/sys/class/infiniband/cxgb3_X/hw_rev |
/sys/class/infiniband/cxgb3_X/hca_type |
/sys/class/infiniband/cxgb3_X/board_id |
Defined on file sysfs-class-infiniband
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/cxgb4_X/hw_rev |
/sys/class/infiniband/cxgb4_X/hca_type |
/sys/class/infiniband/cxgb4_X/board_id |
Defined on file sysfs-class-infiniband
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/hfi1_X/hw_rev |
/sys/class/infiniband/hfi1_X/board_id |
/sys/class/infiniband/hfi1_X/nctxts |
/sys/class/infiniband/hfi1_X/serial |
/sys/class/infiniband/hfi1_X/chip_reset |
/sys/class/infiniband/hfi1_X/boardversion |
/sys/class/infiniband/hfi1_X/nfreectxts |
/sys/class/infiniband/hfi1_X/tempsense |
Defined on file sysfs-class-infiniband
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 |
/sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_table_bin |
/sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_prescan |
Defined on file sysfs-class-infiniband
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] |
/sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] |
/sys/class/infiniband/hfi1_X/ports/N/vl2mtu/[0-15] |
Defined on file sysfs-class-infiniband
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 |
/sys/class/infiniband/hfi1_X/sdma_N/vl |
Defined on file sysfs-class-infiniband
sdma<N>/ 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/<N>/smp_affinity_list
echo "4-7" > /sys/devices/.../sdma3/cpu_list
cat /sys/devices/.../sdma3/vl
0
echo "8" > /proc/irq/<M>/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 |
/sys/class/infiniband/i40iwX/hca_type |
/sys/class/infiniband/i40iwX/board_id |
Defined on file sysfs-class-infiniband
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/mlx4_X/hw_rev |
/sys/class/infiniband/mlx4_X/hca_type |
/sys/class/infiniband/mlx4_X/board_id |
Defined on file sysfs-class-infiniband
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/<pci-slot-num>/ports/<m>/smi_enabled |
/sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/enable_smi_admin |
Defined on file sysfs-class-infiniband
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 Chelsio T4/T5 RDMA driver (cxgb4)¶
What:
/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/gids/<n> |
/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/admin_guids/<n> |
/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/pkeys/<n> |
/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/mcgs/ |
/sys/class/infiniband/mlx4_X/iov/ports/<pci-slot-num>/ports/<m>/gid_idx/0 |
/sys/class/infiniband/mlx4_X/iov/ports/<pci-slot-num>/ports/<m>/pkey_idx/<n> |
Defined on file sysfs-class-infiniband
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/<n>: |
(RO) The physical port gids n = 0..127 |
admin_guids/<n>: |
(RW) Allows examining or changing the administrative state of a given GUID n = 0..127 |
pkeys/<n>: |
(RO) Displays the contents of the physical key table n = 0..126 |
mcgs/: |
(RO) Muticast group table |
<m>/gid_idx/0: |
(RO) Display the GID mapping m = 1..2 |
<m>/pkey_idx/<n>: |
(RW) Writable except for RoCE pkeys. m = 1..2, n = 0..126 Under the iov/<pci slot number> 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/mlx5_X/hw_rev |
/sys/class/infiniband/mlx5_X/hca_type |
/sys/class/infiniband/mlx5_X/reg_pages |
/sys/class/infiniband/mlx5_X/fw_pages |
Defined on file sysfs-class-infiniband
[to be documented]
sysfs interface for Cisco VIC (usNIC) Verbs Driver¶
What:
/sys/class/infiniband/mthcaX/hw_rev |
/sys/class/infiniband/mthcaX/hca_type |
/sys/class/infiniband/mthcaX/board_id |
Defined on file sysfs-class-infiniband
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/ocrdmaX/hca_type |
Defined on file sysfs-class-infiniband
hca_type: (RO) Display FW version
sysfs interface for Intel Omni-Path driver (HFI1)¶
What:
/sys/class/infiniband/ocrdmaX/hw_rev |
Defined on file sysfs-class-infiniband
hw_rev: (RO) Hardware revision number
What:
/sys/class/infiniband/qedrX/hw_rev |
/sys/class/infiniband/qedrX/hca_type |
Defined on file sysfs-class-infiniband
hw_rev: |
(RO) |
Hardware revision number |
hca_type: |
(RO) |
Display HCA type |
sysfs interface for VMware Paravirtual RDMA driver¶
What:
/sys/class/infiniband/qibX/ports/N/CCMgtA/cc_settings_bin |
/sys/class/infiniband/qibX/ports/N/CCMgtA/cc_table_bin |
Defined on file sysfs-class-infiniband
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/diag_counters/rc_resends |
/sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks |
/sys/class/infiniband/qibX/ports/N/diag_counters/rdma_seq |
/sys/class/infiniband/qibX/ports/N/diag_counters/rnr_naks |
/sys/class/infiniband/qibX/ports/N/diag_counters/other_naks |
/sys/class/infiniband/qibX/ports/N/diag_counters/rc_timeouts |
/sys/class/infiniband/qibX/ports/N/diag_counters/look_pkts |
/sys/class/infiniband/qibX/ports/N/diag_counters/pkt_drops |
/sys/class/infiniband/qibX/ports/N/diag_counters/dma_wait |
/sys/class/infiniband/qibX/ports/N/diag_counters/unaligned |
Defined on file sysfs-class-infiniband
[to be documented]
sysfs interface for Mellanox Connect-IB HCA driver mlx5¶
What:
/sys/class/infiniband/qibX/ports/N/linkstate/loopback |
/sys/class/infiniband/qibX/ports/N/linkstate/led_override |
/sys/class/infiniband/qibX/ports/N/linkstate/hrtbt_enable |
/sys/class/infiniband/qibX/ports/N/linkstate/status |
/sys/class/infiniband/qibX/ports/N/linkstate/status_str |
Defined on file sysfs-class-infiniband
[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/sl2vl/[0-15] |
Defined on file sysfs-class-infiniband
(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/version |
/sys/class/infiniband/qibX/hw_rev |
/sys/class/infiniband/qibX/hca_type |
/sys/class/infiniband/qibX/board_id |
/sys/class/infiniband/qibX/boardversion |
/sys/class/infiniband/qibX/nctxts |
/sys/class/infiniband/qibX/localbus_info |
/sys/class/infiniband/qibX/tempsense |
/sys/class/infiniband/qibX/serial |
/sys/class/infiniband/qibX/nfreectxts |
/sys/class/infiniband/qibX/chip_reset |
Defined on file sysfs-class-infiniband
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/usnic_X/board_id |
/sys/class/infiniband/usnic_X/config |
/sys/class/infiniband/usnic_X/qp_per_vf |
/sys/class/infiniband/usnic_X/max_vf |
/sys/class/infiniband/usnic_X/cq_per_vf |
/sys/class/infiniband/usnic_X/iface |
Defined on file sysfs-class-infiniband
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 |
/sys/class/infiniband/usnic_X/qpn/context |
Defined on file sysfs-class-infiniband
[to be documented]
sysfs interface for Emulex RoCE HCA Driver¶
What:
/sys/class/infiniband/vmw_pvrdmaX/hw_rev |
/sys/class/infiniband/vmw_pvrdmaX/hca_type |
/sys/class/infiniband/vmw_pvrdmaX/board_id |
Defined on file sysfs-class-infiniband
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_cm/abi_version |
Defined on file sysfs-class-infiniband
(RO) Value is incremented if any changes are made that break userspace ABI compatibility of ucm devices.
What:
/sys/class/infiniband_cm/ucmN/ibdev |
Defined on file sysfs-class-infiniband
(RO) Display Infiniband (IB) device name
What:
/sys/class/infiniband_mad/abi_version |
Defined on file sysfs-class-infiniband
(RO) Value is incremented if any changes are made that break userspace ABI compatibility of umad & issm devices.
What:
/sys/class/infiniband_mad/umadN/ibdev |
/sys/class/infiniband_mad/umadN/port |
/sys/class/infiniband_mad/issmN/ibdev |
/sys/class/infiniband_mad/issmN/port |
Defined on file sysfs-class-infiniband
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_srp/srp-<hca>-<port_number>/add_target |
Defined on file sysfs-driver-ib_srp
Interface for making ib_srp connect to a new target. One can request ib_srp to connect to a new target by writing a comma-separated list of login parameters to this sysfs attribute. The supported parameters are:
id_ext, a 16-digit hexadecimal number specifying the eight byte identifier extension in the 16-byte SRP target port identifier. The target port identifier is sent by ib_srp to the target in the SRP_LOGIN_REQ request.
ioc_guid, a 16-digit hexadecimal number specifying the eight byte I/O controller GUID portion of the 16-byte target port identifier.
dgid, a 32-digit hexadecimal number specifying the destination GID.
pkey, a four-digit hexadecimal number specifying the InfiniBand partition key.
service_id, a 16-digit hexadecimal number specifying the InfiniBand service ID used to establish communication with the SRP target. How to find out the value of the service ID is specified in the documentation of the SRP target.
max_sect, a decimal number specifying the maximum number of 512-byte sectors to be transferred via a single SCSI command.
max_cmd_per_lun, a decimal number specifying the maximum number of outstanding commands for a single LUN.
io_class, a hexadecimal number specifying the SRP I/O class. Must be either 0xff00 (rev 10) or 0x0100 (rev 16a). The I/O class defines the format of the SRP initiator and target port identifiers.
initiator_ext, a 16-digit hexadecimal number specifying the identifier extension portion of the SRP initiator port identifier. This data is sent by the initiator to the target in the SRP_LOGIN_REQ request.
cmd_sg_entries, a number in the range 1..255 that specifies the maximum number of data buffer descriptors stored in the SRP_CMD information unit itself. With allow_ext_sg=0 the parameter cmd_sg_entries defines the maximum S/G list length for a single SRP_CMD, and commands whose S/G list length exceeds this limit after S/G list collapsing will fail.
allow_ext_sg, whether ib_srp is allowed to include a partial memory descriptor list in an SRP_CMD instead of the entire list. If a partial memory descriptor list has been included in an SRP_CMD the remaining memory descriptors are communicated from initiator to target via an additional RDMA transfer. Setting allow_ext_sg to 1 increases the maximum amount of data that can be transferred between initiator and target via a single SCSI command. Since not all SRP target implementations support partial memory descriptor lists the default value for this option is 0.
sg_tablesize, a number in the range 1..2048 specifying the maximum S/G list length the SCSI layer is allowed to pass to ib_srp. Specifying a value that exceeds cmd_sg_entries is only safe with partial memory descriptor list support enabled (allow_ext_sg=1).
comp_vector, a number in the range 0..n-1 specifying the MSI-X completion vector of the first RDMA channel. Some HCA’s allocate multiple (n) MSI-X vectors per HCA port. If the IRQ affinity masks of these interrupts have been configured such that each MSI-X interrupt is handled by a different CPU then the comp_vector parameter can be used to spread the SRP completion workload over multiple CPU’s.
tl_retry_count, a number in the range 2..7 specifying the IB RC retry count.
queue_size, the maximum number of commands that the initiator is allowed to queue per SCSI host. The default value for this parameter is 62. The lowest supported value is 2.
What:
/sys/class/infiniband_srp/srp-<hca>-<port_number>/ibdev |
Defined on file sysfs-driver-ib_srp
HCA name (<hca>).
What:
/sys/class/infiniband_srp/srp-<hca>-<port_number>/port |
Defined on file sysfs-driver-ib_srp
HCA port number (<port_number>).
What:
/sys/class/infiniband_verbs/abi_version |
Defined on file sysfs-class-infiniband
(RO) Value is incremented if any changes are made that break userspace ABI compatibility of uverbs devices.
sysfs interface for Mellanox IB HCA low-level driver (mthca)¶
What:
/sys/class/infiniband_verbs/uverbsN/ibdev |
/sys/class/infiniband_verbs/uverbsN/abi_version |
Defined on file sysfs-class-infiniband
ibdev: |
(RO) Display Infiniband (IB) device name |
abi_version: |
(RO) Show ABI version of IB device specific interfaces. |
What:
/sys/class/rfkill |
Defined on file sysfs-class-rfkill
The rfkill class subsystem folder. Each registered rfkill driver is represented by an rfkillX subfolder (X being an integer >= 0).
What:
/sys/class/rfkill/rfkill[0-9]+/hard |
Defined on file sysfs-class-rfkill
Current hardblock state. This file is read only. Values: A numeric value.
- 0: inactive
The transmitter is (potentially) active.
- 1: active
The transmitter is forced off by something outside of the driver’s control.
What:
/sys/class/rfkill/rfkill[0-9]+/name |
Defined on file sysfs-class-rfkill
Name assigned by driver to this key (interface or driver name). Values: arbitrary string.
What:
/sys/class/rfkill/rfkill[0-9]+/persistent |
Defined on file sysfs-class-rfkill
Whether the soft blocked state is initialised from non-volatile storage at startup. Values: A numeric value:
0: false
1: true
What:
/sys/class/rfkill/rfkill[0-9]+/soft |
Defined on file sysfs-class-rfkill
Current softblock state. This file is read and write. Values: A numeric value.
- 0: inactive
The transmitter is (potentially) active.
- 1: active
The transmitter is turned off by software.
What:
/sys/class/rfkill/rfkill[0-9]+/state |
Defined on file sysfs-class-rfkill
Current state of the transmitter. This file was scheduled to be removed in 2014, but due to its large number of users it will be sticking around for a bit longer. Despite it being marked as stable, the newer “hard” and “soft” interfaces should be preferred, since it is not possible to express the ‘soft and hard block’ state of the rfkill driver through this interface. There will likely be another attempt to remove it in the future. Values: A numeric value.
- 0: RFKILL_STATE_SOFT_BLOCKED
transmitter is turned off by software
- 1: RFKILL_STATE_UNBLOCKED
transmitter is (potentially) active
- 2: RFKILL_STATE_HARD_BLOCKED
transmitter is forced off by something outside of the driver’s control.
What:
/sys/class/rfkill/rfkill[0-9]+/type |
Defined on file sysfs-class-rfkill
Driver type string (“wlan”, “bluetooth”, etc). Values: See include/linux/rfkill.h.
What:
/sys/class/scsi_host/host<n>/allow_ext_sg |
Defined on file sysfs-driver-ib_srp
Whether ib_srp is allowed to include a partial memory descriptor list in an SRP_CMD when communicating with an SRP target.
What:
/sys/class/scsi_host/host<n>/ch_count |
Defined on file sysfs-driver-ib_srp
Number of RDMA channels used for communication with the SRP target.
What:
/sys/class/scsi_host/host<n>/cmd_sg_entries |
Defined on file sysfs-driver-ib_srp
Maximum number of data buffer descriptors that may be sent to the target in a single SRP_CMD request.
What:
/sys/class/scsi_host/host<n>/comp_vector |
Defined on file sysfs-driver-ib_srp
Completion vector used for the first RDMA channel.
What:
/sys/class/scsi_host/host<n>/dgid |
Defined on file sysfs-driver-ib_srp
InfiniBand destination GID used for communication with the SRP target. Differs from orig_dgid if port redirection has happened.
What:
/sys/class/scsi_host/host<n>/id_ext |
Defined on file sysfs-driver-ib_srp
Eight-byte identifier extension portion of the 16-byte target port identifier.
What:
/sys/class/scsi_host/host<n>/ioc_guid |
Defined on file sysfs-driver-ib_srp
Eight-byte I/O controller GUID portion of the 16-byte target port identifier.
What:
/sys/class/scsi_host/host<n>/local_ib_device |
Defined on file sysfs-driver-ib_srp
Name of the InfiniBand HCA used for communicating with the SRP target.
What:
/sys/class/scsi_host/host<n>/local_ib_port |
Defined on file sysfs-driver-ib_srp
Number of the HCA port used for communicating with the SRP target.
What:
/sys/class/scsi_host/host<n>/orig_dgid |
Defined on file sysfs-driver-ib_srp
InfiniBand destination GID specified in the parameters written to the add_target sysfs attribute.
What:
/sys/class/scsi_host/host<n>/pkey |
Defined on file sysfs-driver-ib_srp
A 16-bit number representing the InfiniBand partition key used for communication with the SRP target.
What:
/sys/class/scsi_host/host<n>/req_lim |
Defined on file sysfs-driver-ib_srp
Number of requests ib_srp can send to the target before it has to wait for more credits. For more information see also the SRP credit algorithm in the SRP specification.
What:
/sys/class/scsi_host/host<n>/service_id |
Defined on file sysfs-driver-ib_srp
InfiniBand service ID used for establishing communication with the SRP target.
What:
/sys/class/scsi_host/host<n>/sgid |
Defined on file sysfs-driver-ib_srp
InfiniBand GID of the source port used for communication with the SRP target.
What:
/sys/class/scsi_host/host<n>/zero_req_lim |
Defined on file sysfs-driver-ib_srp
Number of times the initiator had to wait before sending a request to the target because it ran out of credits. For more information see also the SRP credit algorithm in the SRP specification.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/delete |
Defined on file sysfs-transport-srp
Instructs an SRP initiator to disconnect from a target and to remove all LUNs imported from that target.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/dev_loss_tmo |
Defined on file sysfs-transport-srp
Number of seconds the SCSI layer will wait after a transport layer error has been observed before removing a target port. Zero means immediate removal. Setting this attribute to “off” will disable the dev_loss timer.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/fast_io_fail_tmo |
Defined on file sysfs-transport-srp
Number of seconds the SCSI layer will wait after a transport layer error has been observed before failing I/O. Zero means failing I/O immediately. Setting this attribute to “off” will disable the fast_io_fail timer.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/port_id |
Defined on file sysfs-transport-srp
16-byte local SRP port identifier in hexadecimal format. An example: 4c:49:4e:55:58:20:56:49:4f:00:00:00:00:00:00:00.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/reconnect_delay |
Defined on file sysfs-transport-srp
Number of seconds the SCSI layer will wait after a reconnect attempt failed before retrying. Setting this attribute to “off” will disable time-based reconnecting.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/roles |
Defined on file sysfs-transport-srp
Role of the remote port. Either “SRP Initiator” or “SRP Target”.
What:
/sys/class/srp_remote_ports/port-<h>:<n>/state |
Defined on file sysfs-transport-srp
State of the transport layer used for communication with the remote port. “running” if the transport layer is operational; “blocked” if a transport layer error has been encountered but the fast_io_fail_tmo timer has not yet fired; “fail-fast” after the fast_io_fail_tmo timer has fired and before the “dev_loss_tmo” timer has fired; “lost” after the “dev_loss_tmo” timer has fired and before the port is finally removed.
What:
/sys/class/tpm/tpmX/device/ |
Defined on file sysfs-class-tpm
The device/ directory under a specific TPM instance exposes the properties of that TPM chip
What:
/sys/class/tpm/tpmX/device/active |
Defined on file sysfs-class-tpm
The “active” property prints a ‘1’ if the TPM chip is accepting commands. An inactive TPM chip still contains all the state of an active chip (Storage Root Key, NVRAM, etc), and can be visible to the OS, but will only accept a restricted set of commands. See the TPM Main Specification part 2, Structures, section 17 for more information on which commands are available.
What:
/sys/class/tpm/tpmX/device/cancel |
Defined on file sysfs-class-tpm
The “cancel” property allows you to cancel the currently pending TPM command. Writing any value to cancel will call the TPM vendor specific cancel operation.
What:
/sys/class/tpm/tpmX/device/caps |
Defined on file sysfs-class-tpm
The “caps” property contains TPM manufacturer and version info.
Example output:
Manufacturer: 0x53544d20
TCG version: 1.2
Firmware version: 8.16
Manufacturer is a hex dump of the 4 byte manufacturer info space in a TPM. TCG version shows the TCG TPM spec level that the chip supports. Firmware version is that of the chip and is manufacturer specific.
What:
/sys/class/tpm/tpmX/device/durations |
Defined on file sysfs-class-tpm
The “durations” property shows the 3 vendor-specific values used to wait for a short, medium and long TPM command. All TPM commands are categorized as short, medium or long in execution time, so that the driver doesn’t have to wait any longer than necessary before starting to poll for a result.
Example output:
3015000 4508000 180995000 [original]
Here the short, medium and long durations are displayed in usecs. “[original]” indicates that the values are displayed unmodified from when they were queried from the chip. Durations can be modified in the case where a buggy chip reports them in msec instead of usec and they need to be scaled to be displayed in usecs. In this case “[adjusted]” will be displayed in place of “[original]”.
What:
/sys/class/tpm/tpmX/device/enabled |
Defined on file sysfs-class-tpm
The “enabled” property prints a ‘1’ if the TPM chip is enabled, meaning that it should be visible to the OS. This property may be visible but produce a ‘0’ after some operation that disables the TPM.
What:
/sys/class/tpm/tpmX/device/owned |
Defined on file sysfs-class-tpm
The “owned” property produces a ‘1’ if the TPM_TakeOwnership ordinal has been executed successfully in the chip. A ‘0’ indicates that ownership hasn’t been taken.
What:
/sys/class/tpm/tpmX/device/pcrs |
Defined on file sysfs-class-tpm
The “pcrs” property will dump the current value of all Platform Configuration Registers in the TPM. Note that since these values may be constantly changing, the output is only valid for a snapshot in time.
Example output:
PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75
...
The number of PCRs and hex bytes needed to represent a PCR value will vary depending on TPM chip version. For TPM 1.1 and 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes long. Use the “caps” property to determine TPM version.
What:
/sys/class/tpm/tpmX/device/pubek |
Defined on file sysfs-class-tpm
The “pubek” property will return the TPM’s public endorsement key if possible. If the TPM has had ownership established and is version 1.2, the pubek will not be available without the owner’s authorization. Since the TPM driver doesn’t store any secrets, it can’t authorize its own request for the pubek, making it unaccessible. The public endorsement key is gener- ated at TPM manufacture time and exists for the life of the chip.
Example output:
Algorithm: 00 00 00 01
Encscheme: 00 03
Sigscheme: 00 01
Parameters: 00 00 08 00 00 00 00 02 00 00 00 00
Modulus length: 256
Modulus:
B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C
3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6
1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB
86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3
D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B
82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26
0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E
1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D
6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0
A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6
47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6
10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70
E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A
F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6
F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B
C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B
Possible values:
Algorithm: TPM_ALG_RSA (1)
Encscheme: TPM_ES_RSAESPKCSv15 (2)
TPM_ES_RSAESOAEP_SHA1_MGF1 (3)
Sigscheme: TPM_SS_NONE (1)
Parameters, a byte string of 3 u32 values:
Key Length (bits): 00 00 08 00 (2048)
Num primes: 00 00 00 02 (2)
Exponent Size: 00 00 00 00 (0 means the
default exp)
Modulus Length: 256 (bytes)
Modulus: The 256 byte Endorsement Key modulus
What:
/sys/class/tpm/tpmX/device/temp_deactivated |
Defined on file sysfs-class-tpm
The “temp_deactivated” property returns a ‘1’ if the chip has been temporarily deactivated, usually until the next power cycle. Whether a warm boot (reboot) will clear a TPM chip from a temp_deactivated state is platform specific.
What:
/sys/class/tpm/tpmX/device/timeouts |
Defined on file sysfs-class-tpm
The “timeouts” property shows the 4 vendor-specific values for the TPM’s interface spec timeouts. The use of these timeouts is defined by the TPM interface spec that the chip conforms to.
Example output:
750000 750000 750000 750000 [original]
The four timeout values are shown in usecs, with a trailing “[original]” or “[adjusted]” depending on whether the values were scaled by the driver to be reported in usec from msecs.
What:
/sys/class/ubi/ |
Defined on file sysfs-class-ubi
The ubi/ class sub-directory belongs to the UBI subsystem and provides general UBI information, per-UBI device information and per-UBI volume information.
What:
/sys/class/ubi/ubiX/avail_eraseblocks |
Defined on file sysfs-class-ubi
Amount of available logical eraseblock. For example, one may create a new UBI volume which has this amount of logical eraseblocks.
What:
/sys/class/ubi/ubiX/bad_peb_count |
Defined on file sysfs-class-ubi
Count of bad physical eraseblocks on the underlying MTD device.
What:
/sys/class/ubi/ubiX/bgt_enabled |
Defined on file sysfs-class-ubi
Contains ASCII “0n” if the UBI background thread is disabled, and ASCII “1n” if it is enabled.
What:
/sys/class/ubi/ubiX/dev |
Defined on file sysfs-class-ubi
Major and minor numbers of the character device corresponding to this UBI device (in <major>:<minor> format).
What:
/sys/class/ubi/ubiX/eraseblock_size |
Defined on file sysfs-class-ubi
Maximum logical eraseblock size this UBI device may provide. UBI volumes may have smaller logical eraseblock size because of their alignment.
What:
/sys/class/ubi/ubiX/max_ec |
Defined on file sysfs-class-ubi
Maximum physical eraseblock erase counter value.
What:
/sys/class/ubi/ubiX/max_vol_count |
Defined on file sysfs-class-ubi
Maximum number of volumes which this UBI device may have.
What:
/sys/class/ubi/ubiX/min_io_size |
Defined on file sysfs-class-ubi
Minimum input/output unit size. All the I/O may only be done in fractions of the contained number.
What:
/sys/class/ubi/ubiX/mtd_num |
Defined on file sysfs-class-ubi
Number of the underlying MTD device.
What:
/sys/class/ubi/ubiX/reserved_for_bad |
Defined on file sysfs-class-ubi
Number of physical eraseblocks reserved for bad block handling.
What:
/sys/class/ubi/ubiX/ro_mode |
Defined on file sysfs-class-ubi
Contains ASCII “1n” if the read-only flag is set on this device, and “0n” if it is cleared. UBI devices mark themselves as read-only when they detect an unrecoverable error.
What:
/sys/class/ubi/ubiX/total_eraseblocks |
Defined on file sysfs-class-ubi
Total number of good (not marked as bad) physical eraseblocks on the underlying MTD device.
What:
/sys/class/ubi/ubiX/ubiX_Y/ |
Defined on file sysfs-class-ubi
The /sys/class/ubi/ubiX/ubiX_0/, /sys/class/ubi/ubiX/ubiX_1/, etc directories describe UBI volumes on UBI device X (volumes 0, 1, etc).
What:
/sys/class/ubi/ubiX/ubiX_Y/alignment |
Defined on file sysfs-class-ubi
Volume alignment - the value the logical eraseblock size of this volume has to be aligned on. For example, 2048 means that logical eraseblock size is multiple of 2048. In other words, volume logical eraseblock size is UBI device logical eraseblock size aligned to the alignment value.
What:
/sys/class/ubi/ubiX/ubiX_Y/corrupted |
Defined on file sysfs-class-ubi
Contains ASCII “0n” if the UBI volume is OK, and ASCII “1n” if it is corrupted (e.g., due to an interrupted volume update).
What:
/sys/class/ubi/ubiX/ubiX_Y/data_bytes |
Defined on file sysfs-class-ubi
The amount of data this volume contains. This value makes sense only for static volumes, and for dynamic volume it equivalent to the total volume size in bytes.
What:
/sys/class/ubi/ubiX/ubiX_Y/dev |
Defined on file sysfs-class-ubi
Major and minor numbers of the character device corresponding to this UBI volume (in <major>:<minor> format).
What:
/sys/class/ubi/ubiX/ubiX_Y/name |
Defined on file sysfs-class-ubi
Volume name.
What:
/sys/class/ubi/ubiX/ubiX_Y/reserved_ebs |
Defined on file sysfs-class-ubi
Count of physical eraseblock reserved for this volume. Equivalent to the volume size in logical eraseblocks.
What:
/sys/class/ubi/ubiX/ubiX_Y/type |
Defined on file sysfs-class-ubi
Volume type. Contains ASCII “dynamicn” for dynamic volumes and “staticn” for static volumes.
What:
/sys/class/ubi/ubiX/ubiX_Y/upd_marker |
Defined on file sysfs-class-ubi
Contains ASCII “0n” if the update marker is not set for this volume, and “1n” if it is set. The update marker is set when volume update starts, and cleaned when it ends. So the presence of the update marker indicates that the volume is being updated at the moment of the update was interrupted. The later may be checked using the “corrupted” sysfs file.
What:
/sys/class/ubi/ubiX/ubiX_Y/usable_eb_size |
Defined on file sysfs-class-ubi
Logical eraseblock size of this volume. Equivalent to logical eraseblock size of the device aligned on the volume alignment value.
What:
/sys/class/ubi/ubiX/volumes_count |
Defined on file sysfs-class-ubi
Count of volumes on this UBI device.
What:
/sys/class/ubi/version |
Defined on file sysfs-class-ubi
This file contains version of the latest supported UBI on-media format. Currently it is 1, and there is no plan to change this. However, if in the future UBI needs on-flash format changes which cannot be done in a compatible manner, a new format version will be added. So this is a mechanism for possible future backward-compatible (but forward-incompatible) improvements.
What:
/sys/class/ubiX/ |
Defined on file sysfs-class-ubi
The /sys/class/ubi0, /sys/class/ubi1, etc directories describe UBI devices (UBI device 0, 1, etc). They contain general UBI device information and per UBI volume information (each UBI device may have many UBI volumes)
What:
/sys/class/udc/<udc>/a_alt_hnp_support |
Defined on file sysfs-class-udc
Indicates if an OTG A-Host supports HNP at an alternate port.
What:
/sys/class/udc/<udc>/a_hnp_support |
Defined on file sysfs-class-udc
Indicates if an OTG A-Host supports HNP at this port.
What:
/sys/class/udc/<udc>/b_hnp_enable |
Defined on file sysfs-class-udc
Indicates if an OTG A-Host enabled HNP support.
What:
/sys/class/udc/<udc>/current_speed |
Defined on file sysfs-class-udc
Indicates the current negotiated speed at this port.
What:
/sys/class/udc/<udc>/function |
Defined on file sysfs-class-udc
Prints out name of currently running USB Gadget Driver.
What:
/sys/class/udc/<udc>/is_a_peripheral |
Defined on file sysfs-class-udc
Indicates that this port is the default Host on an OTG session but HNP was used to switch roles.
What:
/sys/class/udc/<udc>/is_otg |
Defined on file sysfs-class-udc
Indicates that this port support OTG.
What:
/sys/class/udc/<udc>/maximum_speed |
Defined on file sysfs-class-udc
Indicates the maximum USB speed supported by this port.
What:
/sys/class/udc/<udc>/soft_connect |
Defined on file sysfs-class-udc
Allows users to disconnect data pullup resistors thus causing a logical disconnection from the USB Host.
What:
/sys/class/udc/<udc>/srp |
Defined on file sysfs-class-udc
Allows users to manually start Session Request Protocol.
What:
/sys/class/udc/<udc>/state |
Defined on file sysfs-class-udc
Indicates current state of the USB Device Controller. Valid states are: ‘not-attached’, ‘attached’, ‘powered’, ‘reconnecting’, ‘unauthenticated’, ‘default’, ‘addressed’, ‘configured’, and ‘suspended’; however not all USB Device Controllers support reporting all states.
What:
/sys/devices/*/devspec |
Defined on file sysfs-devices
If CONFIG_OF is enabled, then this file is present. When read, it returns full name of the device node.
What:
/sys/devices/*/obppath |
Defined on file sysfs-devices
If CONFIG_OF is enabled, then this file is present. When read, it returns full name of the device node.
What:
/sys/devices/*/of_node |
Defined on file sysfs-devices
Any device associated with a device-tree node will have an of_path symlink pointing to the corresponding device node in /sys/firmware/devicetree/
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_health |
Defined on file sysfs-driver-mlxreg-io
This file shows ASIC health status. The possible values are: 0 - health failed, 2 - health OK, 3 - ASIC in booting state.
The files are read only.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld1_version |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld2_version |
Defined on file sysfs-driver-mlxreg-io
These files show with which CPLD versions have been burned on carrier and switch boards.
The files are read only.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/fan_dir |
Defined on file sysfs-driver-mlxreg-io
This file shows the system fans direction: forward direction - relevant bit is set 0; reversed direction - relevant bit is set 1.
The files are read only.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable |
Defined on file sysfs-driver-mlxreg-io
These files show with which CPLD versions have been burned on LED board.
The files are read only.
These files enable and disable the access to the JTAG domain. By default access to the JTAG domain is disabled.
The file is read/write.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu1_on |
Defined on file sysfs-driver-mlxreg-io
These files allow asserting system power cycling, switching power supply units on and off and system’s main power domain shutdown. Expected behavior: When pwr_cycle is written 1: auxiliary power domain will go down and after short period (about 1 second) up. When psu1_on or psu2_on is written 1, related unit will be disconnected from the power source, when written 0 - connected. If both are written 1 - power supplies main power domain will go down. When pwr_down is written 1, system’s main power domain will go down.
The files are write only.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_aux_pwr_or_ref |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_asic_thermal |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_hotswap_or_halt |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_hotswap_or_wd |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_fw_reset |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_long_pb |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_main_pwr_fail |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_short_pb |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_sw_reset |
Defined on file sysfs-driver-mlxreg-io
These files show the system reset cause, as following: power auxiliary outage or power refresh, ASIC thermal shutdown, halt, hotswap, watchdog, firmware reset, long press power button, short press power button, software reset. Value 1 in file means this is reset cause, 0 - otherwise. Only one of the above causes could be 1 at the same time, representing only last reset cause.
The files are read only.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_comex_pwr_fail |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_from_comex |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_system |
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_voltmon_upgrade_fail |
Defined on file sysfs-driver-mlxreg-io
These files show the system reset cause, as following: ComEx power fail, reset from ComEx, system platform reset, reset due to voltage monitor devices upgrade failure, Value 1 in file means this is reset cause, 0 - otherwise. Only one bit could be 1 at the same time, representing only the last reset cause.
The files are read only.
These files show the system reset cause, as following: COMEX thermal shutdown; wathchdog power off or reset was derived by one of the next components: COMEX, switch board or by Small Form Factor mezzanine, reset requested from ASIC, reset cuased by BIOS reload. Value 1 in file means this is reset cause, 0 - otherwise. Only one of the above causes could be 1 at the same time, representing only last reset cause.
The files are read only.
What:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio |
Defined on file sysfs-driver-mlxreg-io
This file allows iio devices selection.
Attribute select_iio can be written with 0 or with 1. It selects which one of iio devices can be accessed.
The file is read/write.
What:
/sys/devices/system/cpu/cpu[0-9]+/dscr |
Defined on file sysfs-devices-system-cpu
Default value for the Data Stream Control Register (DSCR) on a CPU. This default value is used when the kernel is executing and for any process that has not set the DSCR itself. If a process ever sets the DSCR (via direct access to the SPR) that value will be persisted for that process and used on any CPU where it executes (overriding the value described here). If set by a process it will be inherited by child processes. Values: 64 bit unsigned integer (bit field)
What:
/sys/devices/system/cpu/dscr_default |
Defined on file sysfs-devices-system-cpu
Writes are equivalent to writing to /sys/devices/system/cpu/cpuN/dscr on all CPUs. Reads return the last written value or 0. This value is not a global default: it is a way to set all per-CPU defaults at the same time. Values: 64 bit unsigned integer (bit field)
What:
/sys/devices/system/node/has_cpu |
Defined on file sysfs-devices-node
Nodes that have one or more CPUs.
What:
/sys/devices/system/node/has_high_memory |
Defined on file sysfs-devices-node
Nodes that have regular or high memory. Depends on CONFIG_HIGHMEM.
What:
/sys/devices/system/node/has_normal_memory |
Defined on file sysfs-devices-node
Nodes that have regular memory.
What:
/sys/devices/system/node/nodeX |
Defined on file sysfs-devices-node
When CONFIG_NUMA is enabled, this is a directory containing information on node X such as what CPUs are local to the node. Each file is detailed next.
What:
/sys/devices/system/node/nodeX/accessY/ |
Defined on file sysfs-devices-node
The node’s relationship to other nodes for access class “Y”.
What:
/sys/devices/system/node/nodeX/accessY/initiators/ |
Defined on file sysfs-devices-node
The directory containing symlinks to memory initiator nodes that have class “Y” access to this target node’s memory. CPUs and other memory initiators in nodes not in the list accessing this node’s memory may have different performance.
What:
/sys/devices/system/node/nodeX/accessY/initiators/read_bandwidth |
Defined on file sysfs-devices-node
This node’s read bandwidth in MB/s when accessed from nodes found in this access class’s linked initiators.
What:
/sys/devices/system/node/nodeX/accessY/initiators/read_latency |
Defined on file sysfs-devices-node
This node’s read latency in nanoseconds when accessed from nodes found in this access class’s linked initiators.
What:
/sys/devices/system/node/nodeX/accessY/initiators/write_bandwidth |
Defined on file sysfs-devices-node
This node’s write bandwidth in MB/s when accessed from found in this access class’s linked initiators.
What:
/sys/devices/system/node/nodeX/accessY/initiators/write_latency |
Defined on file sysfs-devices-node
This node’s write latency in nanoseconds when access from nodes found in this class’s linked initiators.
What:
/sys/devices/system/node/nodeX/accessY/targets/ |
Defined on file sysfs-devices-node
The directory containing symlinks to memory targets that this initiator node has class “Y” access.
What:
/sys/devices/system/node/nodeX/compact |
Defined on file sysfs-devices-node
When this file is written to, all memory within that node will be compacted. When it completes, memory will be freed into blocks which have as many contiguous pages as possible
What:
/sys/devices/system/node/nodeX/cpulist |
Defined on file sysfs-devices-node
The CPUs associated to the node.
What:
/sys/devices/system/node/nodeX/cpumap |
Defined on file sysfs-devices-node
The node’s cpumap.
What:
/sys/devices/system/node/nodeX/distance |
Defined on file sysfs-devices-node
Distance between the node and all the other nodes in the system.
What:
/sys/devices/system/node/nodeX/hugepages/hugepages-<size>/ |
Defined on file sysfs-devices-node
The node’s huge page size control/query attributes. See Documentation/admin-guide/mm/hugetlbpage.rst
What:
/sys/devices/system/node/nodeX/meminfo |
Defined on file sysfs-devices-node
Provides information about the node’s distribution and memory utilization. Similar to /proc/meminfo, see Documentation/filesystems/proc.txt
What:
/sys/devices/system/node/nodeX/memory_side_cache/indexY/ |
Defined on file sysfs-devices-node
The directory containing attributes for the memory-side cache level ‘Y’.
What:
/sys/devices/system/node/nodeX/memory_side_cache/indexY/indexing |
Defined on file sysfs-devices-node
The caches associativity indexing: 0 for direct mapped, non-zero if indexed.
What:
/sys/devices/system/node/nodeX/memory_side_cache/indexY/line_size |
Defined on file sysfs-devices-node
The number of bytes accessed from the next cache level on a cache miss.
What:
/sys/devices/system/node/nodeX/memory_side_cache/indexY/size |
Defined on file sysfs-devices-node
The size of this memory side cache in bytes.
What:
/sys/devices/system/node/nodeX/memory_side_cache/indexY/write_policy |
Defined on file sysfs-devices-node
The cache write policy: 0 for write-back, 1 for write-through, other or unknown.
What:
/sys/devices/system/node/nodeX/numastat |
Defined on file sysfs-devices-node
The node’s hit/miss statistics, in units of pages. See Documentation/admin-guide/numastat.rst
What:
/sys/devices/system/node/nodeX/vmstat |
Defined on file sysfs-devices-node
The node’s zoned virtual memory statistics. This is a superset of numastat.
What:
/sys/devices/system/node/online |
Defined on file sysfs-devices-node
Nodes that are online.
What:
/sys/devices/system/node/possible |
Defined on file sysfs-devices-node
Nodes that could be possibly become online at some point.
What:
/sys/devices/system/xen_memory/xen_memory0/info/current_kb |
Defined on file sysfs-devices-system-xen_memory
Current size (in KiB) of this domain’s memory reservation.
What:
/sys/devices/system/xen_memory/xen_memory0/info/high_kb |
Defined on file sysfs-devices-system-xen_memory
Amount (in KiB) of high memory in the balloon.
What:
/sys/devices/system/xen_memory/xen_memory0/info/low_kb |
Defined on file sysfs-devices-system-xen_memory
Amount (in KiB) of low (or normal) memory in the balloon.
What:
/sys/devices/system/xen_memory/xen_memory0/max_retry_count |
Defined on file sysfs-devices-system-xen_memory
The maximum number of times the balloon driver will attempt to increase the balloon before giving up. See also ‘retry_count’ below. A value of zero means retry forever and is the default one.
What:
/sys/devices/system/xen_memory/xen_memory0/max_schedule_delay |
Defined on file sysfs-devices-system-xen_memory
The limit that ‘schedule_delay’ (see below) will be increased to. The default value is 32 seconds.
What:
/sys/devices/system/xen_memory/xen_memory0/retry_count |
Defined on file sysfs-devices-system-xen_memory
The current number of times that the balloon driver has attempted to increase the size of the balloon. The default value is one. With max_retry_count being zero (unlimited), this means that the driver will attempt to retry with a ‘schedule_delay’ delay.
What:
/sys/devices/system/xen_memory/xen_memory0/schedule_delay |
Defined on file sysfs-devices-system-xen_memory
The time (in seconds) to wait between attempts to increase the balloon. Each time the balloon cannot be increased, ‘schedule_delay’ is increased (until ‘max_schedule_delay’ is reached at which point it will use the max value).
What:
/sys/devices/system/xen_memory/xen_memory0/scrub_pages |
Defined on file sysfs-devices-system-xen_memory
Control scrubbing pages before returning them to Xen for others domains use. Can be set with xen_scrub_pages cmdline parameter. Default value controlled with CONFIG_XEN_SCRUB_PAGES_DEFAULT.
What:
/sys/devices/system/xen_memory/xen_memory0/target |
Defined on file sysfs-devices-system-xen_memory
The target number of pages to adjust this domain’s memory reservation to.
What:
/sys/devices/system/xen_memory/xen_memory0/target_kb |
Defined on file sysfs-devices-system-xen_memory
As target above, except the value is in KiB.
What:
/sys/firmware/acpi/pm_profile |
Defined on file sysfs-acpi-pmprofile
The ACPI pm_profile sysfs interface exports the platform power management (and performance) requirement expectations as provided by BIOS. The integer value is directly passed as retrieved from the FADT ACPI table.
- Values: For possible values see ACPI specification:
5.2.9 Fixed ACPI Description Table (FADT) Field: Preferred_PM_Profile
Currently these values are defined by spec:
0
Unspecified
1
Desktop
2
Mobile
3
Workstation
4
Enterprise Server
5
SOHO Server
6
Appliance PC
7
Performance Server
>7
Reserved
What:
/sys/firmware/efi/vars |
Defined on file sysfs-firmware-efi-vars
This directory exposes interfaces for interactive with EFI variables. For more information on EFI variables, see ‘Variable Services’ in the UEFI specification (section 7.2 in specification version 2.3 Errata D).
In summary, EFI variables are named, and are classified into separate namespaces through the use of a vendor GUID. They also have an arbitrary binary value associated with them.
The efivars module enumerates these variables and creates a separate directory for each one found. Each directory has a name of the form “<key>-<vendor guid>” and contains the following files:
attributes: |
A read-only text file enumerating the EFI variable flags. Potential values include: EFI_VARIABLE_NON_VOLATILE EFI_VARIABLE_BOOTSERVICE_ACCESS EFI_VARIABLE_RUNTIME_ACCESS EFI_VARIABLE_HARDWARE_ERROR_RECORD EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS See the EFI documentation for an explanation of each of these variables. |
data: |
A read-only binary file that can be read to attain the value of the EFI variable |
guid: |
The vendor GUID of the variable. This should always match the GUID in the variable’s name. |
raw_var: |
A binary file that can be read to obtain a structure that contains everything there is to know about the variable. For structure definition see “struct efi_variable” in the kernel sources. This file can also be written to in order to update the value of a variable. For this to work however, all fields of the “struct efi_variable” passed must match byte for byte with the structure read out of the file, save for the value portion. Note the efi_variable structure read/written with this file contains a ‘long’ type that may change widths depending on your underlying architecture. |
size: |
As ASCII representation of the size of the variable’s value. |
In addition, two other magic binary files are provided in the top-level directory and are used for adding and removing variables:
new_var: |
Takes a “struct efi_variable” and instructs the EFI firmware to create a new variable. |
del_var: |
Takes a “struct efi_variable” and instructs the EFI firmware to remove any variable that has a matching vendor GUID and variable key name. |
What:
/sys/firmware/opal/dump |
Defined on file sysfs-firmware-opal-dump
This directory exposes interfaces for interacting with the FSP and platform dumps through OPAL firmware interface.
This is only for the powerpc/powernv platform.
initiate_dump: |
When ‘1’ is written to it, we will initiate a dump. Read this file for supported commands. |
0xXX-0xYYYY: |
A directory for dump of type 0xXX and id 0xYYYY (in hex). The name of this directory should not be relied upon to be in this format, only that it’s unique among all dumps. For determining the type and ID of the dump, use the id and type files. Do not rely on any particular size of dump type or dump id. |
Each dump has the following files:
id: |
An ASCII representation of the dump ID in hex (e.g. ‘0x01’) |
type: |
An ASCII representation of the type of dump in the format “0x%x %s” with the ID in hex and a description of the dump type (or ‘unknown’). Type ‘0xffffffff unknown’ is used when we could not get the type from firmware. e.g. ‘0x02 System/Platform Dump’ |
dump: |
A binary file containing the dump. The size of the dump is the size of this file. |
acknowledge: |
When ‘ack’ is written to this, we will acknowledge that we’ve retrieved the dump to the service processor. It will then remove it, making the dump inaccessible. Reading this file will get a list of supported actions. |
What:
/sys/firmware/opal/elog |
Defined on file sysfs-firmware-opal-elog
This directory exposes error log entries retrieved through the OPAL firmware interface.
Each error log is identified by a unique ID and will exist until explicitly acknowledged to firmware.
Each log entry has a directory in /sys/firmware/opal/elog.
Log entries may be purged by the service processor before retrieved by firmware or retrieved/acknowledged by Linux if there is no room for more log entries.
In the event that Linux has retrieved the log entries but not explicitly acknowledged them to firmware and the service processor needs more room for log entries, the only remaining copy of a log message may be in Linux.
Typically, a user space daemon will monitor for new entries, read them out and acknowledge them.
The service processor may be able to store more log entries than firmware can, so after you acknowledge an event from Linux you may instantly get another one from the queue that was generated some time in the past.
The raw log format is a binary format. We currently do not parse this at all in kernel, leaving it up to user space to solve the problem. In future, we may do more parsing in kernel and add more files to make it easier for simple user space processes to extract more information.
For each log entry (directory), there are the following files:
id: |
An ASCII representation of the ID of the error log, in hex - e.g. “0x01”. |
type: |
An ASCII representation of the type id and description of the type of error log. Currently just “0x00 PEL” - platform error log. In the future there may be additional types. |
raw: |
A read-only binary file that can be read to get the raw log entry. These are <16kb, often just hundreds of bytes and “average” 2kb. |
acknowledge: |
Writing ‘ack’ to this file will acknowledge the error log to firmware (and in turn the service processor, if applicable). Shortly after acknowledging it, the log entry will be removed from sysfs. Reading this file will list the supported operations (currently just acknowledge). |
What:
/sys/fs/o2cb/ (was /sys/o2cb) |
Defined on file o2cb
Ocfs2-tools looks at ‘interface-revision’ for versioning information. Each logmask/ file controls a set of debug prints and can be written into with the strings “allow”, “deny”, or “off”. Reading the file returns the current state.
What:
/sys/fs/orangefs/acache/* |
Defined on file sysfs-fs-orangefs
Attribute cache configurable settings.
What:
/sys/fs/orangefs/capcache/* |
Defined on file sysfs-fs-orangefs
Capability cache configurable settings.
What:
/sys/fs/orangefs/ccache/* |
Defined on file sysfs-fs-orangefs
Credential cache configurable settings.
What:
/sys/fs/orangefs/ncache/* |
Defined on file sysfs-fs-orangefs
Name cache configurable settings.
What:
/sys/fs/orangefs/op_timeout_secs |
Defined on file sysfs-fs-orangefs
Service operation timeout in seconds.
What:
/sys/fs/orangefs/perf_counter_reset |
Defined on file sysfs-fs-orangefs
echo a 0 or a 1 into perf_counter_reset to reset all the counters in /sys/fs/orangefs/perf_counters except ones with PINT_PERF_PRESERVE set.
What:
/sys/fs/orangefs/perf_counters/* |
Defined on file sysfs-fs-orangefs
Counters and settings for various caches. Read only.
What:
/sys/fs/orangefs/perf_history_size |
Defined on file sysfs-fs-orangefs
The perf_counters cache statistics have N, or perf_history_size, samples. The default is one.
Every perf_time_interval_secs the (first) samples are reset.
If N is greater than one, the “current” set of samples is reset, and the samples from the other N-1 intervals remain available.
What:
/sys/fs/orangefs/perf_time_interval_secs |
Defined on file sysfs-fs-orangefs
Length of perf counter intervals in seconds.
What:
/sys/fs/orangefs/slot_timeout_secs |
Defined on file sysfs-fs-orangefs
“Slot” timeout in seconds. A “slot” is an indexed buffer in the shared memory segment used for communication between the kernel module and userspace. Slots are requested and waited for, the wait times out after slot_timeout_secs.
What:
/sys/hypervisor/compilation/compile_date |
Defined on file sysfs-hypervisor-xen
If running under Xen: Contains the build time stamp of the Xen hypervisor Might return “<denied>” in case of special security settings in the hypervisor.
What:
/sys/hypervisor/compilation/compiled_by |
Defined on file sysfs-hypervisor-xen
If running under Xen: Contains information who built the Xen hypervisor Might return “<denied>” in case of special security settings in the hypervisor.
What:
/sys/hypervisor/compilation/compiler |
Defined on file sysfs-hypervisor-xen
If running under Xen: Compiler which was used to build the Xen hypervisor Might return “<denied>” in case of special security settings in the hypervisor.
What:
/sys/hypervisor/properties/capabilities |
Defined on file sysfs-hypervisor-xen
If running under Xen: Space separated list of supported guest system types. Each type is in the format: <class>-<major>.<minor>-<arch> With:
<class>:
“xen” – x86: paravirtualized, arm: standard “hvm” – x86 only: fully virtualized
<major>:
major guest interface version
<minor>:
minor guest interface version
<arch>:
architecture, e.g.: “x86_32”: 32 bit x86 guest without PAE “x86_32p”: 32 bit x86 guest with PAE “x86_64”: 64 bit x86 guest “armv7l”: 32 bit arm guest “aarch64”: 64 bit arm guest
What:
/sys/hypervisor/properties/changeset |
Defined on file sysfs-hypervisor-xen
If running under Xen: Changeset of the hypervisor (git commit) Might return “<denied>” in case of special security settings in the hypervisor.
What:
/sys/hypervisor/properties/features |
Defined on file sysfs-hypervisor-xen
If running under Xen: Features the Xen hypervisor supports for the guest as defined in include/xen/interface/features.h printed as a hex value.
What:
/sys/hypervisor/properties/pagesize |
Defined on file sysfs-hypervisor-xen
If running under Xen: Default page size of the hypervisor printed as a hex value. Might return “0” in case of special security settings in the hypervisor.
What:
/sys/hypervisor/properties/virtual_start |
Defined on file sysfs-hypervisor-xen
If running under Xen: Virtual address of the hypervisor as a hex value.
What:
/sys/hypervisor/type |
Defined on file sysfs-hypervisor-xen
If running under Xen: Type of hypervisor: “xen”: Xen hypervisor
What:
/sys/hypervisor/uuid |
Defined on file sysfs-hypervisor-xen
If running under Xen: UUID of the guest as known to the Xen hypervisor.
What:
/sys/hypervisor/version/extra |
Defined on file sysfs-hypervisor-xen
If running under Xen: The Xen version is in the format <major>.<minor><extra> This is the <extra> part of it. Might return “<denied>” in case of special security settings in the hypervisor.
What:
/sys/hypervisor/version/major |
Defined on file sysfs-hypervisor-xen
If running under Xen: The Xen version is in the format <major>.<minor><extra> This is the <major> part of it.
What:
/sys/hypervisor/version/minor |
Defined on file sysfs-hypervisor-xen
If running under Xen: The Xen version is in the format <major>.<minor><extra> This is the <minor> part of it.
What:
/sys/module |
Defined on file sysfs-module
The /sys/module tree consists of the following structure:
- /sys/module/MODULENAME
The name of the module that is in the kernel. This module name will always show up if the module is loaded as a dynamic module. If it is built directly into the kernel, it will only show up if it has a version or at least one parameter.
Note: The conditions of creation in the built-in case are not by design and may be removed in the future.
- /sys/module/MODULENAME/parameters
This directory contains individual files that are each individual parameters of the module that are able to be changed at runtime. See the individual module documentation as to the contents of these parameters and what they accomplish.
Note: The individual parameter names and values are not considered stable, only the fact that they will be placed in this location within sysfs. See the individual driver documentation for details as to the stability of the different parameters.
- /sys/module/MODULENAME/refcnt
If the module is able to be unloaded from the kernel, this file will contain the current reference count of the module.
Note: If the module is built into the kernel, or if the CONFIG_MODULE_UNLOAD kernel configuration value is not enabled, this file will not be present.
A notification mechanism for thermal related events |
Defined on file thermal-notification
This interface enables notification for thermal related events. The notification is in the form of a netlink event.
What:
The kernel syscall interface |
Defined on file syscalls
This interface matches much of the POSIX interface and is based on it and other Unix based interfaces. It will only be added to over time, and not have things removed from it.
Note that this interface is different for every architecture that Linux supports. Please see the architecture-specific documentation for details on the syscall numbers that are to be mapped to each syscall.
What:
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap |
Defined on file sysfs-driver-dma-ioatdma
Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL, DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT.
What:
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce |
Defined on file sysfs-driver-dma-ioatdma
Tune-able interrupt delay value per channel basis.
What:
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active |
Defined on file sysfs-driver-dma-ioatdma
The number of descriptors active in the ring.
What:
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size |
Defined on file sysfs-driver-dma-ioatdma
Descriptor ring size, total number of descriptors available.
What:
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version |
Defined on file sysfs-driver-dma-ioatdma
Version of ioatdma device.
File sysfs-bus-firewire¶
Has the following ABI:
File sysfs-bus-usb¶
Has the following ABI:
File sysfs-class-backlight¶
Has the following ABI:
File sysfs-class-infiniband¶
sysfs interface common for all infiniband devices¶
Has the following ABI:
/sys/class/infiniband/<device>/ports/<port-num>/lid_mask_count
/sys/class/infiniband/<device>/ports/<port-num>/counters/symbol_error
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_remote_physical_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_switch_relay_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/link_error_recovery
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_constraint_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_contraint_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/local_link_integrity_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/excessive_buffer_overrun_errors
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_data
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_data
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_packets
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_rcv_packets
/sys/class/infiniband/<device>/ports/<port-num>/counters/unicast_rcv_packets
/sys/class/infiniband/<device>/ports/<port-num>/counters/unicast_xmit_packets
/sys/class/infiniband/<device>/ports/<port-num>/counters/multicast_rcv_packets
/sys/class/infiniband/<device>/ports/<port-num>/counters/multicast_xmit_packets
/sys/class/infiniband/<device>/ports/<port-num>/counters/link_downed
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_discards
/sys/class/infiniband/<device>/ports/<port-num>/counters/VL15_dropped
/sys/class/infiniband/<device>/ports/<port-num>/counters/port_xmit_wait
/sys/class/infiniband/<device-name>/ports/<port-num>/hw_counters/lifespan
/sys/class/infiniband/<hca>/ports/<port-number>/gid_attrs/ndevs/<gid-index>
/sys/class/infiniband/<hca>/ports/<port-number>/gid_attrs/types/<gid-index>
/sys/class/infiniband/mlx4_X/iov/ports/<port-num>/admin_guids/<n>
/sys/class/infiniband/mlx4_X/iov/ports/<pci-slot-num>/ports/<m>/gid_idx/0
/sys/class/infiniband/mlx4_X/iov/ports/<pci-slot-num>/ports/<m>/pkey_idx/<n>
/sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/smi_enabled
/sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/enable_smi_admin
/sys/class/infiniband/qibX/ports/N/diag_counters/rc_timeouts
File sysfs-class-rfkill¶
rfkill - radio frequency (RF) connector kill switch support
For details to this subsystem look at Documentation/driver-api/rfkill.rst.
For the deprecated /sys/class/rfkill/*/claim
knobs of this interface look in
Documentation/ABI/removed/sysfs-class-rfkill.
Has the following ABI:
File sysfs-devices¶
- Note:
This documents additional properties of any device beyond what is documented in Documentation/admin-guide/sysfs-rules.rst
Has the following ABI:
File sysfs-devices-node¶
Has the following ABI:
/sys/devices/system/node/nodeX/accessY/initiators/read_bandwidth
/sys/devices/system/node/nodeX/accessY/initiators/read_latency
/sys/devices/system/node/nodeX/accessY/initiators/write_bandwidth
/sys/devices/system/node/nodeX/accessY/initiators/write_latency
/sys/devices/system/node/nodeX/memory_side_cache/indexY/indexing
/sys/devices/system/node/nodeX/memory_side_cache/indexY/line_size
/sys/devices/system/node/nodeX/memory_side_cache/indexY/size
/sys/devices/system/node/nodeX/memory_side_cache/indexY/write_policy
File sysfs-devices-system-cpu¶
Has the following ABI:
File sysfs-devices-system-xen_memory¶
Has the following ABI:
File sysfs-driver-aspeed-vuart¶
Has the following ABI:
File sysfs-driver-dma-ioatdma¶
Has the following ABI:
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version
sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce
File sysfs-driver-ib_srp¶
Has the following ABI:
File sysfs-driver-mlxreg-io¶
Has the following ABI:
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/asic_health
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld1_version
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/cpld2_version
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/fan_dir
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/jtag_enable
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu1_on
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_aux_pwr_or_ref
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_asic_thermal
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_hotswap_or_halt
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_hotswap_or_wd
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_fw_reset
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_long_pb
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_main_pwr_fail
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_short_pb
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_sw_reset
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_comex_pwr_fail
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_from_comex
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_system
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_voltmon_upgrade_fail
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_comex_thermal
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_comex_wd
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_from_asic
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_reload_bios
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_sff_wd
/sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/reset_swb_wd
File sysfs-driver-usb-usbtmc¶
Has the following ABI:
File sysfs-driver-w1_ds28e04¶
Has the following ABI:
File thermal-notification¶
Has the following ABI:
File vdso¶
On some architectures, when the kernel loads any userspace program it maps an ELF DSO into that program’s address space. This DSO is called the vDSO and it often contains useful and highly-optimized alternatives to real syscalls.
These functions are called just like ordinary C function according to your platform’s ABI. Call them from a sensible context. (For example, if you set CS on x86 to something strange, the vDSO functions are within their rights to crash.) In addition, if you pass a bad pointer to a vDSO function, you might get SIGSEGV instead of -EFAULT.
To find the DSO, parse the auxiliary vector passed to the program’s entry point. The AT_SYSINFO_EHDR entry will point to the vDSO.
The vDSO uses symbol versioning; whenever you request a symbol from the vDSO, specify the version you are expecting.
Programs that dynamically link to glibc will use the vDSO automatically. Otherwise, you can use the reference parser in tools/testing/selftests/vDSO/parse_vdso.c.
Unless otherwise noted, the set of symbols with any given version and the ABI of those symbols is considered stable. It may vary across architectures, though.
- Note:
As of this writing, this ABI documentation as been confirmed for x86_64. The maintainers of the other vDSO-using architectures should confirm that it is correct for their architecture.