nvmet: support fabrics sq flow control
Technical proposal 8005 "fabrics SQ flow control" introduces a mode where a host and controller agree to omit sq_head pointer updates when sending nvme completions. In case the host indicated desire to operate in this mode (connect attribute) the controller will return back a connect completion with sq_head value of 0xffff as indication that it will omit sq_head pointer updates. This mode saves us an atomic update in the I/O path. Reviewed-by: Hannes Reinecke <hare@suse.com> [hch: suggested better implementation] Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:

committed by
Jens Axboe

parent
6e2e312ea7
commit
e6a622fd6d
@@ -1044,6 +1044,10 @@ struct nvmf_disc_rsp_page_hdr {
|
||||
struct nvmf_disc_rsp_page_entry entries[0];
|
||||
};
|
||||
|
||||
enum {
|
||||
NVME_CONNECT_DISABLE_SQFLOW = (1 << 2),
|
||||
};
|
||||
|
||||
struct nvmf_connect_command {
|
||||
__u8 opcode;
|
||||
__u8 resv1;
|
||||
|
Reference in New Issue
Block a user