linux_dsm_epyc7002/drivers
Jens Axboe 943e942e62 nvme-pci: limit max IO size and segments to avoid high order allocations
nvme requires an sg table allocation for each request. If the request
is large, then the allocation can become quite large. For instance,
with our default software settings of 1280KB IO size, we'll need
10248 bytes of sg table. That turns into a 2nd order allocation,
which we can't always guarantee. If we fail the allocation, blk-mq
will retry it later. But there's no guarantee that we'll EVER be
able to allocate that much contigious memory.

Limit the IO size such that we never need more than a single page
of memory. That's a lot faster and more reliable. Then back that
allocation with a mempool, so that we know we'll always be able
to succeed the allocation at some point.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Acked-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2018-06-21 18:59:46 +02:00
..
accessibility
acpi libnvdimm for 4.18 2018-06-08 17:21:52 -07:00
amba Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2018-06-06 13:49:25 -07:00
android
ata SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
atm atm: zatm: fix memcmp casting 2018-05-29 09:59:53 -04:00
auxdisplay
base arm64 updates for 4.18: 2018-06-08 11:10:58 -07:00
bcma dma-mapping updates for 4.18: 2018-06-04 10:58:12 -07:00
block block: fix timeout changes for legacy request drivers 2018-06-19 11:27:18 -06:00
bluetooth Bluetooth: btusb: Add additional device ID for RTL8822BE 2018-05-30 15:45:01 +02:00
bus
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2018-06-09 11:14:30 -07:00
clk This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
clocksource This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
connector Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
cpufreq ACPI updates for 4.18-rc1 2018-06-05 10:08:27 -07:00
cpuidle powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-06-05 15:51:21 -07:00
dax libnvdimm for 4.18 2018-06-08 17:21:52 -07:00
dca
devfreq
dio
dma dmaengine updates for 4.18-rc1 2018-06-08 11:02:21 -07:00
dma-buf
edac
eisa
extcon
firewire treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
firmware Char/Misc driver patches for 4.18-rc1 2018-06-05 16:20:22 -07:00
fmc
fpga
fsi
gpio This is the bulk of GPIO changes for the v4.18 development 2018-06-08 10:31:52 -07:00
gpu DeviceTree updates for v4.18: 2018-06-07 14:06:31 -07:00
hid Merge branch 'for-4.18/wacom' into for-linus 2018-06-08 10:28:24 +02:00
hsi
hv SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
hwmon powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
hwspinlock treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
hwtracing Char/Misc driver patches for 4.18-rc1 2018-06-05 16:20:22 -07:00
i2c USB/PHY patches for 4.18-rc1 2018-06-05 16:14:12 -07:00
ide ide: don't enable/disable interrupts in force threaded-IRQ mode 2018-06-05 16:26:47 -04:00
idle
iio Staging/IIO patches for 4.18-rc1 2018-06-09 10:32:39 -07:00
infiniband 4.18 Merge window pull request 2018-06-07 13:04:07 -07:00
input - Introduce arithmetic overflow test helper functions (Rasmus) 2018-06-06 17:27:14 -07:00
iommu Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-10 09:44:53 -07:00
ipack
irqchip irqchip/ls-scfg-msi: Map MSIs in the iommu 2018-06-06 12:05:19 +02:00
isdn Merge branch 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-06-04 13:57:43 -07:00
leds
lightnvm lightnvm: pblk: fix resource leak of invalid_bitmap 2018-06-05 09:20:27 -06:00
macintosh powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
mailbox - Remove HAS_DMA config dependencies 2018-06-07 13:35:59 -07:00
mcb
md Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2018-06-09 12:01:36 -07:00
media media updates for v4.18-rc1 2018-06-07 12:34:37 -07:00
memory
memstick
message SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
mfd regulator: Updates for v4.18 2018-06-08 13:08:57 -07:00
misc pci-v4.18-changes 2018-06-07 12:45:58 -07:00
mmc MMC core: 2018-06-05 16:11:43 -07:00
mtd This pull request contains updates for both UBI and UBIFS: 2018-06-10 15:52:09 -07:00
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-06-10 19:25:23 -07:00
nfc NFC: pn533: don't send USB data off of the stack 2018-05-31 12:43:14 +02:00
ntb
nubus Char/Misc driver patches for 4.18-rc1 2018-06-05 16:20:22 -07:00
nvdimm Merge branch 'for-4.18/mcsafe' into libnvdimm-for-next 2018-06-08 15:16:44 -07:00
nvme nvme-pci: limit max IO size and segments to avoid high order allocations 2018-06-21 18:59:46 +02:00
nvmem
of DeviceTree updates for v4.18: 2018-06-07 14:06:31 -07:00
opp OPP: Allow same OPP table to be used for multiple genpd 2018-05-30 15:38:21 +05:30
oprofile
parisc dma-mapping updates for 4.18: 2018-06-04 10:58:12 -07:00
parport
pci pci-v4.18-changes 2018-06-07 12:45:58 -07:00
pcmcia
perf drivers/bus: arm-cci: fix build warnings 2018-05-29 16:38:16 +01:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
pinctrl This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
platform USB/PHY patches for 4.18-rc1 2018-06-05 16:14:12 -07:00
pnp media updates for v4.18-rc1 2018-06-07 12:34:37 -07:00
power power supply and reset changes for the v4.18 series 2018-06-09 12:11:09 -07:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator regulator: Updates for v4.18 2018-06-08 13:08:57 -07:00
remoteproc
reset - Introduce arithmetic overflow test helper functions (Rasmus) 2018-06-06 17:27:14 -07:00
rpmsg
rtc RTC for 4.18 2018-06-10 16:13:24 -07:00
s390 SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
sbus
scsi block: fix timeout changes for legacy request drivers 2018-06-19 11:27:18 -06:00
sfi
sh
siox
slimbus
sn
soc This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
soundwire Char/Misc driver patches for 4.18-rc1 2018-06-05 16:20:22 -07:00
spi Power management updates for 4.18-rc1 2018-06-05 09:38:39 -07:00
spmi
ssb
staging Staging/IIO patches for 4.18-rc1 2018-06-09 10:32:39 -07:00
target SCSI misc on 20180610 2018-06-10 13:01:12 -07:00
tc
tee
thermal - Introduce arithmetic overflow test helper functions (Rasmus) 2018-06-06 17:27:14 -07:00
thunderbolt
tty powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
uio
usb - Introduce arithmetic overflow test helper functions (Rasmus) 2018-06-06 17:27:14 -07:00
uwb
vfio Merge branch 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-06-04 13:57:43 -07:00
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-06-06 18:39:49 -07:00
video media updates for v4.18-rc1 2018-06-07 12:34:37 -07:00
virt
virtio
visorbus
vlynq
vme
w1 Char/Misc driver patches for 4.18-rc1 2018-06-05 16:20:22 -07:00
watchdog
xen xen: fixes and features for v4-18-rc1 2018-06-08 09:24:54 -07:00
zorro - Introduce arithmetic overflow test helper functions (Rasmus) 2018-06-06 17:27:14 -07:00
Kconfig
Makefile