opnsense-src/sys/dev/nvme
Warner Losh 0fd4cd405b nvme: Use controller's page size instead of PAGE_SIZE to create qpair
When constructing qpair, use the controller's notion of page size rather
than the host's PAGE_SIZE. Currently, these are both 4k, but the arm 16k
page size support requires decoupling.

There's a "hidden" PAGE_SIZE in btoc, so we must change btoc(x) to
howmany(x, ctrlr->page_size) to properly count the number of pages (in
the drive's world view) are needed for various calculations.

With these changes, we the nvme driver operates at production level load
for both host 4k and host 16k page size.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D34873
2022-04-15 14:46:19 -06:00
..
nvme.c nvme: use config_intrhook_drain to avoid removable card races 2021-03-11 09:45:10 -07:00
nvme.h nvme: Remove NVME_MAX_XFER_SIZE, replace inline calculation 2022-04-15 14:46:18 -06:00
nvme_ahci.c nvme_ahci: Mark AHCI devices as such in the controller 2021-12-06 10:23:40 -07:00
nvme_ctrlr.c nvme: Further refinements in Host Memory Buffer Sizing 2022-04-15 14:46:19 -06:00
nvme_ctrlr_cmd.c Add Host Memory Buffer support to nvme(4). 2020-01-07 21:17:11 +00:00
nvme_ns.c nvme: Prefer nvme_printf to printf when reporting formatting error 2022-04-15 14:46:19 -06: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_pci.c nvme: Move to a quirk for the Intel alignment data 2021-12-06 10:23:40 -07:00
nvme_private.h nvme: Use saved mps when initializing drive 2022-04-15 14:46:18 -06:00
nvme_qpair.c nvme: Use controller's page size instead of PAGE_SIZE to create qpair 2022-04-15 14:46:19 -06:00
nvme_sim.c nvme_sim: Only report PCI related stats when we can 2021-12-06 10:23:40 -07:00
nvme_sysctl.c nvme: Publish the drive's capabilities 2022-03-31 21:13:16 -06: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