Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

/sys/class/genwqe

FieldValue
SubsystemIBM GenWQE PCIe accelerator card class (ABI doc, contacts haver@linux.vnet.ibm.com / klebers@linux.vnet.ibm.com); implementation file not in cached tree
Config gatenot verifiable from the cached tree: no Kconfig or Makefile mentioning genwqe exists in the cached tree, and the ABI entries name no config symbol (not verified)
ABI documentationDocumentation/ABI/testing/sysfs-driver-genwqe; a debugfs counterpart exists at Documentation/ABI/testing/debugfs-driver-genwqe
Sincenot stated in the ABI entries (dated Oct 2013; reload_bitstream May 2014)
Live (5.10.134 host)class absent: no genwqe row in the cached live enumeration of 46 classes
Ledger IDSYSC-genwqe

What it represents

One directory genwqe<n>_card per IBM GenWQE (Generic Work Queue Engine) PCIe accelerator card. The attributes are the card-management surface: identity (version bitstream id, type e.g. “GenWQE5-A7”, appid active application e.g. “GZIP”), state and health (state: “unused”, “used”, “error”; tempsens temperature sense register; base_clock; freerunning_timer and queue_working_time for performance/utilization measurements), and bitstream control (curr_bitstream active, 1 default / 0 backup; next_bitstream selection; reload_bitstream trigger). The real workload interface is the char device and DDCB queues, not sysfs; the class is the operator view.

Relationship to the device model

Each class device is backed by a PCI function: the ABI documents device/sriov_numvfs under the card directory, i.e. the standard PCI SR-IOV enable knob reached through the card’s device symlink (enable 1..15 VFs, disable by writing 0). The debugfs doc covers the same cards under /sys/kernel/debug (DDCB queue dump, error register dumps, per-UID chip state, “Only available for PF”), confirming the PF/VF split.

Attributes

AttributeR/WUnit/formatConditional?Source
genwqe<n>_card/versionRObitstream id, e.g. ‘0000000330336283.00000000475a4950’alwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/appidRO per ABI wording (“Identifies”)active application, e.g. ‘GZIP’alwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/typeROcard type, e.g. ‘GenWQE5-A7’alwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/stateRO“unused”, “used”, or “error”alwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/{tempsens,base_clock,freerunning_timer,queue_working_time}ROtemperature sense register; base clock frequency; free running timer; queue working time (both timer files for perf/utilization)alwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/curr_bitstreamROcurrently active bitstream: 1 default, 0 backupalwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/next_bitstreamW (“Interface to set”)selects bitstream used on next loadalwaysABI testing sysfs-driver-genwqe
genwqe<n>_card/reload_bitstreamWwrite 1 triggers a PCIe card reset to reload the bitstreamsince May 2014 entryABI testing sysfs-driver-genwqe
genwqe<n>_card/device/sriov_numvfsWenable 1..15 VFs; 0 disablesPCI SR-IOV capable functionABI testing sysfs-driver-genwqe

Safety and writes

Reads are safe. reload_bitstream resets the PCIe card (ABI gives the sudo sh -c 'echo 1 > ...' recipe; after success the card returns with the next_bitstream image) – disruptive by design. next_bitstream changes what firmware loads next. sriov_numvfs creates/destroys VFs. Writability of appid is not stated in the ABI text and is not verified. All writes are root-only by normal sysfs permissions.

References

  • Documentation/ABI/testing/sysfs-driver-genwqe, Documentation/ABI/testing/debugfs-driver-genwqe (cached copies)
  • sysfs-driver-genwqe online
  • source-cache/sysfs-attrs.json genwqe entry (12 paths, matching)
  • sysfs overview, ledger
  • Ledger row SYSC-genwqe