linux/drivers/nvme/host
Caleb Sander 53ee9e2937 nvme-tcp: use in-capsule data for I/O connect
Currently, command data is only sent in-capsule on the for admin or I/O
commands on queues that indicate support for it.  Send fabrics command
data in-capsule for I/O queues as well to avoid needing a separate
H2CData PDU for the connect command.

This is optimization. Without this change, we send the connect command
capsule and data in separate PDUs (CapsuleCmd and H2CData), and must wait
for the controller to respond with an R2T PDU before sending the H2CData.

With the change, we send a single CapsuleCmd PDU that includes the data.
This reduces the number of bytes (and likely packets) sent across the network,
and simplifies the send state machine handling in the driver.

Signed-off-by: Caleb Sander <csander@purestorage.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-08-02 17:22:41 -06:00
..
apple.c blk-mq: Drop blk_mq_ops.timeout 'reserved' arg 2022-07-06 06:33:53 -06:00
auth.c nvme-auth: Diffie-Hellman key exchange support 2022-08-02 17:14:49 -06:00
constants.c nvme: add support for TP4084 - Time-to-Ready Enhancements 2022-05-18 18:54:17 +02:00
core.c nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
fabrics.c nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
fabrics.h nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
fault_inject.c block: remove the ->rq_disk field in struct request 2021-11-29 06:41:29 -07:00
fc.c blk-mq: Drop 'reserved' arg of busy_tag_iter_fn 2022-07-06 06:33:53 -06:00
fc.h nvme-fc: Update header and host for common definitions for LS handling 2020-05-09 16:18:33 -06:00
hwmon.c nvme-hwmon: Return error code when registration fails 2021-03-05 13:41:03 +01:00
ioctl.c nvme/host: Use the enum req_op and blk_opf_t types 2022-07-14 12:14:32 -06:00
Kconfig nvme-auth: Diffie-Hellman key exchange support 2022-08-02 17:14:49 -06:00
Makefile nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
multipath.c block: move zone related fields to struct gendisk 2022-07-06 06:46:26 -06:00
nvme.h nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
pci.c for-5.20/block-2022-07-29 2022-08-02 13:46:35 -07:00
rdma.c nvme-rdma: remove timeout for getting RDMA-CM established event 2022-08-02 17:22:41 -06:00
tcp.c nvme-tcp: use in-capsule data for I/O connect 2022-08-02 17:22:41 -06:00
trace.c nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
trace.h nvme: use struct group for generic command dwords 2022-07-06 19:12:56 +02:00
zns.c block: pass a gendisk to blk_queue_max_open_zones and blk_queue_max_active_zones 2022-07-06 06:46:26 -06:00