mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 02:12:09 -05:00
d234e6b801
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 |