mirror of
https://github.com/RGBCube/serenity
synced 2026-01-14 01:20:59 +00:00
Add polling support to NVMe so that it does not use interrupt to complete a IO but instead actively polls for completion. This probably is not very efficient in terms of CPU usage but it does not use interrupts to complete a IO which is beneficial at the moment as there is no MSI(X) support and it can reduce the latency of an IO in a very fast NVMe device. The NVMeQueue class has been made the base class for NVMeInterruptQueue and NVMePollQueue. The factory function `NVMeQueue::try_create` will return the appropriate queue to the controller based on the polling boot parameter. The polling mode can be enabled by adding an extra boot parameter: `nvme_poll`. |
||
|---|---|---|
| .. | ||
| ATA | ||
| NVMe | ||
| Partition | ||
| RamdiskController.cpp | ||
| RamdiskController.h | ||
| RamdiskDevice.cpp | ||
| RamdiskDevice.h | ||
| StorageController.h | ||
| StorageDevice.cpp | ||
| StorageDevice.h | ||
| StorageManagement.cpp | ||
| StorageManagement.h | ||