| What: /sys/class/intel_pmt/features-<PCI BDF>/ | |
| Date: 2025-04-24 | |
| KernelVersion: 6.16 | |
| Contact: david.e.box@linux.intel.com | |
| Description: | |
| The `features-<PCI BDF>/` directory represents the "features" | |
| capability exposed by Intel PMT (Platform Monitoring Technology) | |
| for the given PCI device. | |
| Each directory corresponds to a PMT feature and contains | |
| attributes describing the available telemetry, monitoring, or | |
| control functionalities. | |
| Directory Structure: | |
| /sys/class/intel_pmt/features-<PCI BDF>/ | |
| ├── accelerator_telemetry/ # Per-accelerator telemetry data | |
| ├── crash_log/ # Contains system crash telemetry logs | |
| ├── per_core_environment_telemetry/ # Environmental telemetry per core | |
| ├── per_core_performance_telemetry/ # Performance telemetry per core | |
| ├── per_rmid_energy_telemetry/ # Energy telemetry for RMIDs | |
| ├── per_rmid_perf_telemetry/ # Performance telemetry for RMIDs | |
| ├── tpmi_control/ # TPMI-related controls and telemetry | |
| ├── tracing/ # PMT tracing features | |
| └── uncore_telemetry/ # Uncore telemetry data | |
| Common Files (Present in all feature directories): | |
| caps | |
| - Read-only | |
| - Lists available capabilities for this feature. | |
| guids | |
| - Read-only | |
| - Lists GUIDs associated with this feature. | |
| Additional Attributes (Conditional Presence): | |
| max_command_size | |
| - Read-only | |
| - Present if the feature supports out-of-band MCTP access. | |
| - Maximum supported MCTP command size for out-of-band PMT access (bytes). | |
| max_stream_size | |
| - Read-only | |
| - Present if the feature supports out-of-band MCTP access. | |
| - Maximum supported MCTP stream size (bytes). | |
| min_watcher_period_ms | |
| - Read-only | |
| - Present if the feature supports the watcher API. | |
| The watcher API provides a writable control interface that allows user | |
| configuration of monitoring behavior, such as setting the sampling or | |
| reporting interval. | |
| - Minimum supported time period for the watcher interface (milliseconds). | |
| num_rmids | |
| - Read-only | |
| - Present if the feature supports RMID (Resource Monitoring ID) telemetry. | |
| RMIDs are identifiers used by hardware to track and report resource usage, | |
| such as memory bandwidth or energy consumption, on a per-logical-entity | |
| basis (e.g., per core, thread, or process group). | |
| - Maximum number of RMIDs tracked simultaneously. | |
| Example: | |
| For a device with PCI BDF `0000:00:03.1`, the directory tree could look like: | |
| /sys/class/intel_pmt/features-0000:00:03.1/ | |
| ├── accelerator_telemetry/ | |
| │ ├── caps | |
| │ ├── guids | |
| │ ├── max_command_size | |
| │ ├── max_stream_size | |
| │ ├── min_watcher_period_ms | |
| ├── crash_log/ | |
| │ ├── caps | |
| │ ├── guids | |
| │ ├── max_command_size | |
| │ ├── max_stream_size | |
| ├── per_core_environment_telemetry/ | |
| │ ├── caps | |
| │ ├── guids | |
| │ ├── max_command_size | |
| │ ├── max_stream_size | |
| │ ├── min_watcher_period_ms | |
| ├── per_rmid_energy_telemetry/ | |
| │ ├── caps | |
| │ ├── guids | |
| │ ├── max_command_size | |
| │ ├── max_stream_size | |
| │ ├── min_watcher_period_ms | |
| │ ├── num_rmids | |
| ├── tpmi_control/ | |
| │ ├── caps | |
| │ ├── guids | |
| ├── tracing/ | |
| │ ├── caps | |
| │ ├── guids | |
| ├── uncore_telemetry/ | |
| │ ├── caps | |
| │ ├── guids | |
| │ ├── max_command_size | |
| │ ├── max_stream_size | |
| │ ├── min_watcher_period_ms | |
| Notes: | |
| - Some attributes are only present if the corresponding feature supports | |
| the capability (e.g., `max_command_size` for MCTP-capable features). | |
| - Features supporting RMIDs include `num_rmids`. | |
| - Features supporting the watcher API include `min_watcher_period_ms`. | |
| - The `caps` file provides additional information about the functionality | |
| of the feature. | |
| Example 'caps' content for the 'tracing' feature: | |
| /sys/class/intel_pmt/features-0000:00:03.1/ | |
| ├── tracing/ | |
| │ ├── caps | |
| telemetry Available: No | |
| watcher Available: Yes | |
| crashlog Available: No | |
| streaming Available: No | |
| threashold Available: No | |
| window Available: No | |
| config Available: Yes | |
| tracing Available: No | |
| inband Available: Yes | |
| oob Available: Yes | |
| secure_chan Available: No | |
| pmt_sp Available: Yes | |
| pmt_sp_policy Available: Yes | |
| mailbox Available: Yes | |
| bios_lock Available: Yes |