linux-stable/drivers
MD Danish Anwar dcb3fba6fa net: ti: icssg_prueth: Add SW TX / RX Coalescing based on hrtimers
Add SW IRQ coalescing based on hrtimers for RX and TX data path for ICSSG
driver, which can be enabled by ethtool commands:

- RX coalescing
  ethtool -C eth1 rx-usecs 50

- TX coalescing can be enabled per TX queue

  - by default enables coalescing for TX0
  ethtool -C eth1 tx-usecs 50
  - configure TX0
  ethtool -Q eth0 queue_mask 1 --coalesce tx-usecs 100
  - configure TX1
  ethtool -Q eth0 queue_mask 2 --coalesce tx-usecs 100
  - configure TX0 and TX1
  ethtool -Q eth0 queue_mask 3 --coalesce tx-usecs 100 --coalesce
tx-usecs 100

Minimum value for both rx-usecs and tx-usecs is 20us.

Compared to gro_flush_timeout and napi_defer_hard_irqs this patch allows
to enable IRQ coalescing for RX path separately.

Benchmarking numbers:
 ===============================================================
| Method                  | Tput_TX | CPU_TX | Tput_RX | CPU_RX |
| ==============================================================
| Default Driver           943 Mbps    31%      517 Mbps  38%   |
| IRQ Coalescing (Patch)   943 Mbps    28%      518 Mbps  25%   |
 ===============================================================

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240430120634.1558998-1-danishanwar@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-01 18:38:47 -07:00
..
accel
accessibility
acpi
amba
android
ata ata: libata-core: Allow command duration limits detection for ACS-4 drives 2024-04-13 10:42:28 +09:00
atm
auxdisplay
base
bcma
block
bluetooth Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional() 2024-04-24 16:26:22 -04:00
bus
cache
cdrom
cdx
char random: handle creditable entropy from atomic process context 2024-04-17 13:53:18 +02:00
clk
clocksource
comedi
connector
counter
cpufreq
cpuidle
crypto devlink: extend devlink_param *set pointer 2024-04-22 13:05:19 -07:00
cxl
dax
dca
devfreq
dio
dma
dma-buf
dpll dpll: fix dpll_pin_on_pin_register() for multiple parent pins 2024-04-25 08:32:09 -07:00
edac
eisa
extcon
firewire
firmware
fpga
fsi
gnss
gpio gpio: lpc32xx: fix module autoloading 2024-04-12 21:30:58 +02:00
gpu - Fix bo leak on error path during fb init 2024-04-19 10:40:47 +10:00
greybus
hid HID: mcp-2221: cancel delayed_work only when CONFIG_IIO is enabled 2024-04-12 17:48:53 +02:00
hsi
hte
hv
hwmon
hwspinlock
hwtracing
i2c
i3c
idle
iio
infiniband inet: introduce dst_rtable() helper 2024-04-30 18:32:38 -07:00
input
interconnect
iommu iommufd for 6.9 first rc 2024-04-19 14:02:21 -07:00
ipack
irqchip
isdn
leds
macintosh
mailbox
mcb
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-18 13:12:24 -07:00
media
memory
memstick
message
mfd
misc
mmc
most
mtd
mux
net net: ti: icssg_prueth: Add SW TX / RX Coalescing based on hrtimers 2024-05-01 18:38:47 -07:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-25 12:41:37 -07:00
ntb
nubus
nvdimm
nvme
nvmem
of of: property: Add fw_devlink support for pse parent 2024-04-16 19:17:16 -07:00
opp
parisc
parport
pci
pcmcia
peci
perf
phy
pinctrl
platform platform-drivers-x86 for v6.9-3 2024-04-18 07:15:33 -07:00
pmdomain
pnp
power
powercap
pps
ps3
ptp ptp: ptp_qoriq: Convert to platform remove callback returning void 2024-04-12 18:51:39 -07:00
pwm pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 inet: introduce dst_rtable() helper 2024-04-30 18:32:38 -07:00
sbus
scsi
sh
siox
slimbus
soc
soundwire
spi
spmi
ssb
staging
target
tc
tee
thermal thermal/debugfs: Add missing count increment to thermal_debug_tz_trip_up() 2024-04-19 15:08:19 +02:00
thunderbolt
tty serial: stm32: Reset .throttled state in .startup() 2024-04-17 13:26:45 +02:00
ufs
uio
usb USB-serial device ids for 6.9-rc5 2024-04-19 16:07:18 +02:00
vdpa
vfio
vhost net: extend ubuf_info callback to ops structure 2024-04-22 16:21:35 -07:00
video
virt Revert "vmgenid: emit uevent when VMGENID updates" 2024-04-18 14:47:23 +02:00
virtio virtio: add debugfs infrastructure to allow to debug virtio features 2024-04-26 13:26:53 +02:00
w1
watchdog
xen
zorro
Kconfig
Makefile