commit f2a9f724dff7c50588ada312e0809e670a581139
Author: Matthew Dillon <[email protected]>
Date:   Sat Jun 25 20:57:07 2016 -0700

    nvme - Handle full submission queue
    
    * The submission queue is a ring and can be full even if requests are
      available due to out-of-order completion.  Update the submission queue's
      subq_head from the completion queue status and check for a full condition.
      The normal requeue signaling suffices for resume.
    
    * Also note that we allocate maxqe requests, which is actually one more than
      we can have on the ring at once.  But now that we have the queue-full 
check,
      this becomes a non-issue.  Just leave it at maxqe for convenience.
    
    * Tested by temporarily reducing maxqe to 16 and doing stuff to overload it.
      Maxqe was returned to 256 for the commit.

Summary of changes:
 sys/dev/disk/nvme/nvme.c | 64 +++++++++++++++++++++++++++++++++++++++---------
 sys/dev/disk/nvme/nvme.h |  4 ++-
 2 files changed, 55 insertions(+), 13 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f2a9f724dff7c50588ada312e0809e670a581139


-- 
DragonFly BSD source repository

Reply via email to