Tenstorrent PCIe Driver Version 2.9.0 Release Notes
This release enables driver-managed power on Wormhole, adds a deferred idle power-down window, introduces read-only DMA pinning for file-backed memory, and protects telemetry reads against concurrent resets.
Important
Wormhole users: driver-managed power on Wormhole requires Chip Management Firmware (CMFW) 19.10.0 or later. On older firmware the driver logs a Failed to set initial power state warning on every open() and the device runs in its firmware-default power state. Update CMFW, or set the module parameter power_policy=0, to suppress the warning.
New Features
Wormhole Power Management
The Wormhole power-management framework introduced for Blackhole in 2.6.0 is now active on Wormhole.
power_policy=1(the default) places the device in a low-power state at probe and re-aggregates open clients' requested power flags on every open/close.TENSTORRENT_IOCTL_SET_POWER_STATEand theO_APPENDopt-in for power-aware applications now have effect on Wormhole.- Requires CMFW 19.10.0 or later. See the compatibility callout above.
Deferred Idle Power-Down
When the last file descriptor for a device closes, the idle power-down ARC message is now sent from a delayed work item rather than synchronously from release(). A subsequent open() arriving inside the grace window cancels the pending work, avoiding a needless powerdown/powerup pair on short reopens.
- New module parameter
idle_power_down_grace_ms(default5000, runtime-tunable at0644).0restores the synchronous behavior. - Enabled on Wormhole. Blackhole continues to send the idle message synchronously.
Read-Only Page Pinning
A new flag TENSTORRENT_PIN_PAGES_READ_ONLY for TENSTORRENT_IOCTL_PIN_PAGES requests a device-read-only mapping. The IOMMU programs read-only entries that fault on device writes.
- Permits pinning device-readable views of file-backed memory that the unflagged ioctl rejects, including read-only
mmapof files on disk (e.g. model weights) andMAP_SHAREDmappings of files on a regular filesystem. - Available only when the device is behind an active IOMMU; the ioctl returns
-EOPNOTSUPPotherwise.
Hwmon Limit Attributes on Blackhole
Blackhole hwmon now reports the same limit attributes that Wormhole has exposed, when the corresponding telemetry tags are provided by firmware:
temp_max,in_max,curr_max,power_max
Attributes for unreported tags remain hidden.
Bug Fixes
TENSTORRENT_LOCK_CTL_ACQUIRE_BLOCKINGdeadlock against reset. A blocking lock acquisition running concurrent withTENSTORRENT_IOCTL_RESET_DEVICEor with device removal could block indefinitely. Blocking acquires now wake on reset or removal and return-ENODEV.- Reset racing with
open()/close(). A device reset overlapping concurrentopen()orclose()could let a stale power-state ARC message reach the device mid-reset. Reset and the open/close paths are now mutually exclusive. - Telemetry access during reset. Sysfs and hwmon reads return
-EIOwhen the device has been removed or is mid-reset, in place of reading stale BARs. - Firmware updates across a reset. Updating CMFW and then resetting the device no longer leaves sysfs and hwmon reading at the previous firmware's telemetry locations; the telemetry tag table is re-discovered as part of
POST_RESET.
Improvements
Kernel Log Context
Per-device driver log messages are now prefixed with the device's PCI location, and module-scope messages are prefixed with tenstorrent: , making it easier to attribute kernel log lines to a specific device on multi-device systems.
Packaging
- RPM packaging produces a single
noarchpackage, and prerelease suffixes (e.g.2.9.0-rc1) are preserved in package filenames and the/usr/srcinstall path instead of being truncated. Local builds are supported viatools/build_rpms.sh. - Debian package upgrades no longer leave stale DKMS state behind.
- Continuous integration build targets updated from Fedora 41/42 to Fedora 42/43.
Compatibility Notes
New Synchronous ARC Traffic on Wormhole
With power_policy=1, the following Wormhole paths now block on an ARC power-state message that was a no-op in 2.8.0:
open()of a device file withoutO_APPEND(power-up to the high-performance compatibility state).- Every
TENSTORRENT_IOCTL_SET_POWER_STATEcall. Each invocation re-aggregates open clients' requests and sends the resulting state, regardless of whether the aggregate changed.
The last close() does not add latency: the idle power-down is deferred by idle_power_down_grace_ms (default 5000) and is cancelled if another open() arrives in that window.
Hwmon Limit Attributes on Blackhole
Applications that enumerate hwmon attributes will now see temp_max, in_max, curr_max, and power_max on Blackhole when the firmware reports the corresponding telemetry tags.