linux/drivers
David Arinzon a8ee104f98 net: ena: Update NUMA TPH hint register upon NUMA node update
The device supports a PCIe optimization hint, which indicates on
which NUMA the queue is currently processed. This hint is utilized
by PCIe in order to reduce its access time by accessing the
correct NUMA resources and maintaining cache coherence.

The driver calls the register update for the hint (called TPH -
TLP Processing Hint) during the NAPI loop.

Though the update is expected upon a NUMA change (when a queue
is moved from one NUMA to the other), the current logic performs
a register update when the queue is moved to a different CPU,
but the CPU is not necessarily in a different NUMA.

The changes include:
1. Performing the TPH update only when the queue has switched
a NUMA node.
2. Moving the TPH update call to be triggered only when NAPI was
scheduled from interrupt context, as opposed to a busy-polling loop.
This is due to the fact that during busy-polling, the frequency
of CPU switches for a particular queue is significantly higher,
thus, the likelihood to switch NUMA is much higher. Therefore,
providing the frequent updates to the device upon a NUMA update
are unlikely to be beneficial.

Fixes: 1738cd3ed3 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
Signed-off-by: David Arinzon <darinzon@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-12-30 07:43:44 +00:00
..
accel Fix mismerge due to devnode now taking a 'const *' device 2022-12-16 13:04:15 -06:00
accessibility
acpi More ACPI updates for 6.2-rc1 2022-12-15 10:21:10 -08:00
amba ARM updates for 6.2 2022-12-13 15:22:14 -08:00
android
ata ata changes for 6.2 2022-12-13 10:54:19 -08:00
atm
auxdisplay
base Kbuild updates for v6.2 2022-12-19 12:33:32 -06:00
bcma
block Including fixes from bpf, netfilter and can. 2022-12-21 08:41:32 -08:00
bluetooth Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
bus Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
cdrom
char random: do not include <asm/archrandom.h> from random.h 2022-12-20 03:13:45 +01:00
clk A pile of clk driver updates with a small tracepoint patch to the clk core this 2022-12-13 13:46:07 -08:00
clocksource Updates for timers, timekeeping and drivers: 2022-12-12 12:52:02 -08:00
comedi
connector
counter
cpufreq linux-kselftest-next-6.2-rc1 2022-12-12 16:39:38 -08:00
cpuidle powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
crypto powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
cxl cxl/region: Fix memdev reuse check 2022-12-08 13:03:47 -08:00
dax
dca
devfreq
dio
dma dmaengine updates for v6.2 2022-12-19 08:54:17 -06:00
dma-buf Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
edac Merge branches 'edac-ghes' and 'edac-misc' into edac-updates-for-v6.2 2022-12-12 15:40:03 +01:00
eisa
extcon Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
firewire
firmware efi: random: fix NULL-deref when refreshing seed 2022-12-20 03:13:45 +01:00
fpga Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
fsi
gnss
gpio gpio: updates for v6.2 2022-12-15 09:45:51 -08:00
gpu Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
greybus
hid Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
hsi
hte
hv Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
hwmon hwmon updates for v6.2 merge window 2022-12-13 13:09:38 -08:00
hwspinlock
hwtracing
i2c Core got a new helper 'i2c_client_get_device_id', designware got some 2022-12-15 14:47:10 -08:00
i3c i3c: export SETDASA method 2022-12-11 21:25:58 +01:00
idle
iio Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
infiniband v6.2 merge window 2nd pull request 2022-12-17 08:23:42 -06:00
input Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
interconnect
iommu IOMMU Updates for Linux v6.2 2022-12-19 08:34:39 -06:00
ipack
irqchip RISC-V Patches for the 6.2 Merge Window, Part 1 2022-12-14 15:23:49 -08:00
isdn Including fixes from bpf, netfilter and can. 2022-12-21 08:41:32 -08:00
leds Lee Jones offered his help with maintaining LEDs, thanks a 2022-12-17 08:28:25 -06:00
macintosh
mailbox ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
mcb
md - Fix use-after-free races due to missing resource cleanup during DM 2022-12-13 10:58:09 -08:00
media Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
memory ARM updates for 6.2 2022-12-13 15:22:14 -08:00
memstick memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-12-09 10:29:58 +01:00
message
mfd
misc powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
mmc MMC core: 2022-12-13 13:41:26 -08:00
most
mtd MTD core changes: 2022-12-13 12:32:07 -08:00
mux
net net: ena: Update NUMA TPH hint register upon NUMA node update 2022-12-30 07:43:44 +00:00
nfc nfc: pn533: Clear nfc_target before being used 2022-12-14 20:51:29 -08:00
ntb
nubus
nvdimm
nvme Including fixes from bpf, netfilter and can. 2022-12-21 08:41:32 -08:00
nvmem Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
of Devicetree updates for v6.2, part 2: 2022-12-20 08:48:24 -06:00
opp
parisc parisc: led: Fix potential null-ptr-deref in start_task() 2022-12-17 23:19:38 +01:00
parport
pci phy-for-6.2 2022-12-19 08:40:58 -06:00
pcmcia
peci
perf RISC-V Patches for the 6.2 Merge Window, Part 1 2022-12-14 15:23:49 -08:00
phy phy-for-6.2 2022-12-19 08:40:58 -06:00
pinctrl Pin control changes for the v6.2 kernel cycle: 2022-12-13 13:03:06 -08:00
platform USB/Thunderbolt driver changes for 6.2-rc1 2022-12-16 03:22:53 -08:00
pnp
power power supply and reset changes for the v6.2 series 2022-12-17 08:39:31 -06:00
powercap
pps
ps3
ptp Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
pwm
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-11 19:30:20 -08:00
ras
regulator regulator: Updates for v6.2 2022-12-13 12:49:59 -08:00
remoteproc
reset
rpmsg
rtc rtc: ds1742: use devm_platform_get_and_ioremap_resource() 2022-12-15 23:34:31 +01:00
s390 s390/qeth: convert sysfs snprintf to sysfs_emit 2022-12-28 12:10:42 +00:00
sbus
scsi Including fixes from bpf, netfilter and can. 2022-12-21 08:41:32 -08:00
sh
siox
slimbus
soc ARM: SoC fixes for 6.2 2022-12-19 16:07:59 -06:00
soundwire soundwire updates for 6.2 2022-12-19 08:47:33 -06:00
spi spi: Updates for v6.2 2022-12-13 12:54:31 -08:00
spmi
ssb
staging Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
target SCSI misc on 20221213 2022-12-14 08:58:51 -08:00
tc
tee SoC driver updates for 6.2 2022-12-12 10:17:08 -08:00
thermal More thermal control updates for 6.2-rc1 2022-12-15 10:16:04 -08:00
thunderbolt
tty Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
ufs SCSI misc on 20221213 2022-12-14 08:58:51 -08:00
uio
usb Including fixes from bpf, netfilter and can. 2022-12-21 08:41:32 -08:00
vdpa
vfio Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
vhost
video fbdev: fbcon: release buffer when fbcon_do_set_font() failed 2022-12-14 20:01:51 +01:00
virt Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
virtio
vlynq
w1
watchdog linux-watchdog 6.2-rc1 tag 2022-12-17 08:34:01 -06:00
xen drm for 6.2: 2022-12-13 11:59:58 -08:00
zorro
Kconfig
Makefile