1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 11:07:35 +00:00

Kernel/NVMeQueue: Use waitqueue in submit_sync_sqe

The current way we handle sync commands is very ugly and depends on lot
of preconditions. Now that we have an end_io handler for a request, we
can use WaitQueue to do sync commands more elegantly.

This does depend on block layer sending one request at a time but this
change is a step forward towards better IO handling.
This commit is contained in:
Pankaj Raghav 2023-03-27 15:18:08 +02:00 committed by Jelle Raaijmakers
parent 0096eadf40
commit a65b0cbe4a
2 changed files with 7 additions and 16 deletions

View file

@ -95,6 +95,7 @@ private:
OwnPtr<Memory::Region> m_sq_dma_region;
Vector<NonnullRefPtr<Memory::PhysicalPage>> m_sq_dma_page;
Span<NVMeCompletion> m_cqe_array;
WaitQueue m_sync_wait_queue;
Memory::TypedMapping<DoorbellRegister volatile> m_db_regs;
NonnullRefPtr<Memory::PhysicalPage const> m_rw_dma_page;
};