1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/microshift-con-limitations-of-generic-device-plugin.adoc
2025-09-10 19:14:37 +00:00

31 lines
2.6 KiB
Plaintext

// Module included in the following assemblies:
//
// microshift_configuring/microshift-gdp.adoc
:_mod-docs-content-type: CONCEPT
[id="microshift-limitations-of-generic-device-plugin_{context}"]
= Limitations and considerations for the Generic Device Plugin
Although the Generic Device Plugin (GDP) provides powerful capabilities for accessing host devices in {microshift-short}, it is important to understand its limitations and current status.
[id="microshift-devices-not-suited-generic-device-plugin_{context}"]
== Devices not suited for the Generic Device Plugin
The GDP is designed for devices that are managed directly by the operating system and do not require special setup procedures. Devices that are not well-suited for the Generic Device Plugin include:
* Complex hardware requiring specialized drivers such as GPUs (graphics processing units) or FPGAs (field-programmable gate arrays). These types of hardware typically require dedicated device plugins that can perform unique initialization procedures, memory management, or queue resets before a pod can use them.
* Devices with specific vendor-supplied software stacks. Devices that require a complex software stack or proprietary APIs beyond direct file system access might require a specialized plugin.
[id="microshift-device-id-logging-generic-device-plugin_{context}"]
== Device identification and logging
When you use glob paths, for example, `/dev/ttyUSB*`, to expose multiple similar devices, the GDP allocates devices based on availability. However, if your application needs to connect to an exactly specified physical device, for example, `serial device 3` out of 10, using broad glob paths might be insufficient. In such cases, configure individual device entries in the `config.yaml` file using more stable and unique identifiers such as:
* Specific device paths, for example, `/dev/video0`.
* Symbolic links provided by the operating system, for example, `/dev/serial/by-id/` or `/dev/serial/by-path/`.
* USB vendor ID, product ID, and serial number combinations for precise USB device targeting.
[id="microshift-performance-considerations-generic-device-plugin_{context}"]
== Performance considerations
The `count` parameter in the `config.yaml` file enables a device group to be scheduled multiple times concurrently. While there are no explicit limits set within the GDP for the count (for example, `1000` for `/dev/fuse`), the actual performance depends on the host system's capabilities and the nature of the device itself. Running a very high number of concurrent processes that access the same device might affect performance.