mirror of
https://github.com/RGBCube/serenity
synced 2026-01-18 15:31:00 +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`. |
||
|---|---|---|
| .. | ||
| NVMeController.cpp | ||
| NVMeController.h | ||
| NVMeDefinitions.h | ||
| NVMeInterruptQueue.cpp | ||
| NVMeInterruptQueue.h | ||
| NVMeNameSpace.cpp | ||
| NVMeNameSpace.h | ||
| NVMePollQueue.cpp | ||
| NVMePollQueue.h | ||
| NVMeQueue.cpp | ||
| NVMeQueue.h | ||