ac90f70d1e
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. |
||
---|---|---|
.. | ||
nvme_ahci.c | ||
nvme_ctrlr_cmd.c | ||
nvme_ctrlr.c | ||
nvme_ns_cmd.c | ||
nvme_ns.c | ||
nvme_pci.c | ||
nvme_private.h | ||
nvme_qpair.c | ||
nvme_sim.c | ||
nvme_sysctl.c | ||
nvme_test.c | ||
nvme_util.c | ||
nvme.c | ||
nvme.h |