Page MenuHomeFreeBSD

nvme: Export constants for min and max queue sizes
ClosedPublic

Authored by jhb on Mar 20 2024, 11:23 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jun 29, 6:11 AM
Unknown Object (File)
Wed, Jun 5, 8:59 PM
Unknown Object (File)
May 17 2024, 8:46 PM
Unknown Object (File)
May 8 2024, 7:17 PM
Unknown Object (File)
May 6 2024, 8:59 PM
Unknown Object (File)
Apr 6 2024, 5:21 PM
Unknown Object (File)
Apr 4 2024, 6:40 PM
Unknown Object (File)
Mar 24 2024, 1:09 PM
Subscribers

Details

Summary

These are useful for NVMe over Fabrics.

Sponsored by: Chelsio Communications

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/dev/nvme/nvme.h
71

Where does this number come from?

sys/dev/nvme/nvme.h
71

See 4.1.3 in the base NVMe spec 1.4b.

4.1.3 Queue Size

The Queue Size is indicated in a 16-bit 0’s based field that indicates the number of slots in the queue. The minimum size for a queue is two slots. The maximum size for either an I/O Submission Queue or an I/O Completion Queue is defined as 64 Ki slots, limited by the maximum queue size supported by the controller that is reported in the CAP.MQES field. The maximum size for the Admin Submission and Admin Completion Queue is defined as 4 Ki slots. One slot in each queue is not available for use due to Head and Tail entry pointer definition.

That is the source for all 4 of these numbers.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 23 2024, 12:26 AM
This revision was automatically updated to reflect the committed changes.