aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/nvme
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-08-18 19:51:59 +0200
committerJens Axboe <axboe@kernel.dk>2020-08-21 17:14:27 -0600
commitc61b82c7b71343c6aca6bb6cc3ff44fb123fb5d3 (patch)
tree0164b21219c5ea5e6e348e99a925e5f132bf6e04 /drivers/nvme
parentnvme-pci: Use u32 for nvme_dev.q_depth and nvme_queue.q_depth (diff)
downloadwireguard-linux-c61b82c7b71343c6aca6bb6cc3ff44fb123fb5d3.tar.xz
wireguard-linux-c61b82c7b71343c6aca6bb6cc3ff44fb123fb5d3.zip
nvme-pci: fix PRP pool size
All operations are based on the controller, not the host page size. Switch the dma pool to use the controller page size as well to avoid massive overallocations on large page size systems. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/nvme')
-rw-r--r--drivers/nvme/host/pci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 1cb09a187ae7..e001a4ae65b0 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2460,7 +2460,8 @@ static int nvme_disable_prepare_reset(struct nvme_dev *dev, bool shutdown)
static int nvme_setup_prp_pools(struct nvme_dev *dev)
{
dev->prp_page_pool = dma_pool_create("prp list page", dev->dev,
- PAGE_SIZE, PAGE_SIZE, 0);
+ NVME_CTRL_PAGE_SIZE,
+ NVME_CTRL_PAGE_SIZE, 0);
if (!dev->prp_page_pool)
return -ENOMEM;