From: Santosh Shilimkar Date: Thu, 10 Sep 2015 15:10:32 +0000 (-0700) Subject: NVMe: Setup max hardware sector count to 512KB X-Git-Tag: v4.1.12-92~286^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=771e0fd62e57f54aa25c732d8e67d1c8530f9d53;p=users%2Fjedix%2Flinux-maple.git NVMe: Setup max hardware sector count to 512KB Linux in box NVMe driver does not handle 0 MDTS as expected •0 MDTS - the drive can accept any request size. •The device driver set up max hardware sector size by BLK_SAFE_MAX_SECTORS or 124KB. •Every IO size greater than 124KB is splitted by 124KB and remainder. Hence performance drop at 128KB IO size. Orabug: 21818316 Acked-by: Martin K. Petersen Signed-off-by: Santosh Shilimkar --- diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index 244fda76b689..b1b808cf375b 100644 --- a/drivers/block/nvme-core.c +++ b/drivers/block/nvme-core.c @@ -2447,6 +2447,9 @@ static int nvme_dev_add(struct nvme_dev *dev) memcpy(dev->firmware_rev, ctrl->fr, sizeof(ctrl->fr)); if (ctrl->mdts) dev->max_hw_sectors = 1 << (ctrl->mdts + shift - 9); + else + dev->max_hw_sectors = 512 * 1024 / 512; + if ((pdev->vendor == PCI_VENDOR_ID_INTEL) && (pdev->device == 0x0953) && ctrl->vs[3]) { unsigned int max_hw_sectors;