Project

General

Profile

Actions

Bug #8628

closed

nvme: use a semaphore to guard submission queue

Added by Hans Rosenfeld over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

The current command submission logic in nvme suffers from the fact that it can fail iff the queue is full. This complicates a bunch of places where commands are submitted as we always need to check for errors.

It makes much more sense to have a semaphore as part of each queue pair that guards submission of commands. That will allow for a lot cleaner code in many places. The downside of this is that we might end up blocking in command submission if the queues are really small, but as we're only submitting commands in places where we can block I see no problem there.


Related issues

Related to illumos gate - Bug #9249: System crash dump to NVME not workingClosedYuri Pankov2018-03-06

Actions
Actions

Also available in: Atom PDF