1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-18 15:31:00 +00:00
serenity/Kernel/Storage/NVMe
Pankaj Raghav d234e6b801 Kernel: Add polling support to NVMe
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`.
2022-02-02 18:26:59 +01:00
..
NVMeController.cpp Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeController.h Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeDefinitions.h Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeInterruptQueue.cpp Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeInterruptQueue.h Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeNameSpace.cpp Kernel: Add UNMAP_AFTER_INIT to NVMe member functions 2022-01-18 11:37:04 +02:00
NVMeNameSpace.h Kernel/NVMe: Add initial NVMe driver support 2022-01-01 14:55:58 +01:00
NVMePollQueue.cpp Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMePollQueue.h Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeQueue.cpp Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00
NVMeQueue.h Kernel: Add polling support to NVMe 2022-02-02 18:26:59 +01:00