freebsd-skq/sys/dev/nvme
Alexander Motin ac90f70d1e Increase nvme(4) maximum transfer size from 1MB to 2MB.
With 4KB page size the 2MB is the maximum we can address with one page PRP.
Going further would require chaining, that would add some more complexity.

On the other side, to reduce memory consumption, allocate the PRP memory
respecting maximum transfer size reported in the controller identify data.
Many of NVMe devices support much smaller values, starting from 128KB.
To do that we have to change the initialization sequence to pull the data
earlier, before setting up the I/O queue pairs.  The admin queue pair is
still allocated for full MIN(maxphys, 2MB) size, but it is not a big deal,
since there is only one such queue with only 16 trackers.

Reviewed by:	imp
MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2020-11-29 00:20:31 +00:00
..
nvme_ahci.c Make nvme(4) driver some more NUMA aware. 2019-09-23 17:53:47 +00:00
nvme_ctrlr_cmd.c Add Host Memory Buffer support to nvme(4). 2020-01-07 21:17:11 +00:00
nvme_ctrlr.c Increase nvme(4) maximum transfer size from 1MB to 2MB. 2020-11-29 00:20:31 +00:00
nvme_ns_cmd.c Add a brief comment explaining why we can return ETIMEDOUT from the call to the 2019-09-02 17:10:46 +00:00
nvme_ns.c Fix various Coverity-detected errors in nvme driver 2020-05-02 20:47:58 +00:00
nvme_pci.c nvme: clean up empty lines in .c and .h files 2020-09-01 22:03:10 +00:00
nvme_private.h Increase nvme(4) maximum transfer size from 1MB to 2MB. 2020-11-29 00:20:31 +00:00
nvme_qpair.c Increase nvme(4) maximum transfer size from 1MB to 2MB. 2020-11-29 00:20:31 +00:00
nvme_sim.c Report cpi->hba_* for nda(4) because why not. 2020-08-12 20:05:43 +00:00
nvme_sysctl.c nvme: Remove compat code for older kernels 2020-10-24 01:59:01 +00:00
nvme_test.c nvme: clean up empty lines in .c and .h files 2020-09-01 22:03:10 +00:00
nvme_util.c nvme: clean up empty lines in .c and .h files 2020-09-01 22:03:10 +00:00
nvme.c Fix panic if NVMe is detached before the intrhook call. 2020-11-12 20:20:43 +00:00
nvme.h Increase nvme(4) maximum transfer size from 1MB to 2MB. 2020-11-29 00:20:31 +00:00