linux_dsm_epyc7002/drivers
Sagi Grimberg db5ad6b7f8 nvme-tcp: try to send request in queue_rq context
Today, nvme-tcp automatically schedules a send request
to a workqueue context, which is 1 more than we'd need
in case the socket buffer is wide open.

However, because we have async send activity (as a result
of r2t, or write_space callbacks), we need to synchronize
sends from possibly multiple contexts (ideally all running
on the same cpu though).

Thus, we only try to send directly from queue_rq in cases:
1. the send_list is empty
2. we can send it synchronously (i.e. not from the RX path)
3. we run on the same cpu as the queue->io_cpu to avoid
   contention on the send operation.

Proposed-by: Mark Wunderlich <mark.wunderlich@intel.com>
Signed-off-by: Mark Wunderlich <mark.wunderlich@intel.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-05-09 16:18:36 -06:00
..
accessibility
acpi More ACPI updates for 5.7-rc1 2020-04-10 09:52:15 -07:00
amba
android
ata block: move dma_pad handling from blk_rq_map_sg into the callers 2020-04-22 10:47:39 -06:00
atm
auxdisplay
base driver core: remove device_create_vargs 2020-05-09 16:15:13 -06:00
bcma
block Merge branch 'block-5.7' into for-5.8/block 2020-05-09 16:13:58 -06:00
bluetooth
bus
cdrom cdrom: factor out a cdrom_multisession helper 2020-05-04 10:13:42 -06:00
char Merge branch 'akpm' (patches from Andrew) 2020-04-10 17:57:48 -07:00
clk clk: sprd: don't gate uart console clock 2020-04-13 12:20:07 -07:00
clocksource
connector
counter
cpufreq
cpuidle Merge branch 'pm-cpuidle' 2020-04-10 11:32:22 +02:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2020-04-08 21:35:29 -07:00
dax
dca
devfreq
dio
dma drivers/dma/tegra20-apb-dma.c: fix platform_get_irq.cocci warnings 2020-04-10 15:36:22 -07:00
dma-buf A bunch of fixes to avoid null pointer dereference in fbcon, fix a return 2020-04-08 09:14:34 +10:00
edac
eisa
extcon
firewire
firmware efi/libstub/file: Merge file name buffers to reduce stack usage 2020-04-14 08:32:15 +02:00
fpga
fsi
gnss
gpio
gpu Merge branch 'linux-5.7' of git://github.com/skeggsb/linux into drm-fixes 2020-04-16 15:40:02 +10:00
greybus
hid
hsi
hv hyperv-fixes for 5.7-rc1 2020-04-14 11:58:04 -07:00
hwmon hwmon: (jc42) Fix name to have no illegal characters 2020-04-18 10:13:07 -07:00
hwspinlock
hwtracing
i2c i2c: tegra: Synchronize DMA before termination 2020-04-15 18:27:31 +02:00
i3c
ide ide-cd: rename cdrom_read_tocentry 2020-05-04 10:13:42 -06:00
idle
iio chrome platform changes for 5.7 2020-04-08 21:25:49 -07:00
infiniband
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2020-04-07 20:20:12 -07:00
interconnect
iommu
ipack
irqchip Merge branch 'irq/gic-v4.1-fixes-5.7' into irq/irqchip-5.7 2020-04-17 08:59:55 +01:00
isdn mISDN: make dmril and dmrim static 2020-04-16 13:52:31 -07:00
leds
lightnvm
macintosh
mailbox
mcb
md block: bypass ->make_request_fn for blk-mq drivers 2020-04-25 09:45:44 -06:00
media
memory
memstick
message
mfd
misc virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00
mmc
most
mtd bdi: remove the name field in struct backing_dev_info 2020-05-09 16:15:13 -06:00
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-04-16 14:52:29 -07:00
nfc
ntb
nubus
nvdimm libnvdimm for 5.7 2020-04-08 21:03:40 -07:00
nvme nvme-tcp: try to send request in queue_rq context 2020-05-09 16:18:36 -06:00
nvmem
of of: unittest: kmemleak in duplicate property update 2020-04-17 08:31:34 -05:00
opp opp: Manage empty OPP tables with clk handle 2020-04-13 16:14:55 +05:30
oprofile
parisc
parport
pci IOMMU Updates for Linux v5.7 2020-04-08 11:00:00 -07:00
pcmcia
perf
phy
pinctrl
platform chrome-platform fixes for v5.7-rc2 2020-04-16 15:00:57 -07:00
pnp
power change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc - New Drivers 2020-04-07 19:48:52 -07:00
s390 dasd: use blk_drop_partitions instead of badly reimplementing it 2020-04-20 11:32:59 -06:00
sbus
scsi lpfc: nvmet: Add Send LS Request and Abort LS Request support 2020-05-09 16:18:34 -06:00
sfi
sh
siox
slimbus
soc RISC-V Patches for the 5.7 Merge Window, Part 1 2020-04-09 10:51:30 -07:00
soundwire
spi
spmi
ssb
staging mm/vma: introduce VM_ACCESS_FLAGS 2020-04-10 15:36:21 -07:00
target scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN 2020-04-13 14:03:20 -04:00
tc
tee
thermal - Convert tsens configuration DT binding to yaml (Rajeshwari) 2020-04-07 20:00:16 -07:00
thunderbolt
tty
uio
usb
vdpa
vfio
vhost
video drm fixes for 5.7-rc1 2020-04-07 20:24:34 -07:00
virt
virtio virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00
visorbus
vlynq
vme
w1
watchdog watchdog: sp805: fix restart handler 2020-04-08 11:18:38 +02:00
xen xen: branch for v5.7-rc2 2020-04-17 10:35:17 -07:00
zorro
Kconfig virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00
Makefile virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00