linux/drivers
Alexander Lobakin ad07f29b9c ice: Micro-optimize .ndo_xdp_xmit() path
After the recent mbuf changes, ice_xmit_xdp_ring() became a 3-liner.
It makes no sense to keep it global in a different file than its caller.
Move it just next to the sole call site and mark static. Also, it
doesn't need a full xdp_convert_frame_to_buff(). Save several cycles
and fill only the fields used by __ice_xmit_xdp_ring() later on.
Finally, since it doesn't modify @xdpf anyhow, mark the argument const
to save some more (whole -11 bytes of .text! :D).

Thanks to 1 jump less and less calcs as well, this yields as many as
6.7 Mpps per queue. `xdp.data_hard_start = xdpf` is fully intentional
again (see xdp_convert_buff_to_frame()) and just works when there are
no source device's driver issues.

Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/bpf/20230210170618.1973430-7-alexandr.lobakin@intel.com
2023-02-13 19:13:13 +01:00
..
accel Fix mismerge due to devnode now taking a 'const *' device 2022-12-16 13:04:15 -06:00
accessibility tty: fix possible null-ptr-defer in spk_ttyio_release 2023-01-19 16:24:04 +01:00
acpi - Start checking for -mindirect-branch-cs-prefix clang support too now that LLVM 2023-01-29 11:17:34 -08:00
amba ARM updates for 6.2 2022-12-13 15:22:14 -08:00
android
ata ata: libata: Fix sata_down_spd_limit() when no link speed is reported 2023-02-02 20:26:45 +09:00
atm treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
bcma
block block-6.2-2023-02-03 2023-02-03 11:35:42 -08:00
bluetooth Bluetooth: hci_qca: Fix driver shutdown on closed serdev 2023-01-17 15:59:02 -08:00
bus bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() 2023-01-08 21:35:01 +01:00
cdrom
char xen: branch for v6.2-rc4 2023-01-12 17:02:20 -06: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 comedi: adv_pci1760: Fix PWM instruction handling 2023-01-19 17:24:47 +01:00
connector
counter counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update 2022-11-26 16:49:28 -05:00
cpufreq cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering 2023-01-10 20:31:08 +01:00
cpuidle powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
crypto MTD changes: 2023-01-12 05:56:06 -06:00
cxl cxl/pmem: Fix nvdimm unregistration when cxl_pmem driver is absent 2023-01-25 15:35:26 -08:00
dax
dca
devfreq PM / devfreq: event: use devm_platform_get_and_ioremap_resource() 2022-12-05 21:57:20 +09:00
dio
dma ptdma: pt_core_execute_cmd() should use spinlock 2023-01-19 18:59:34 +05:30
dma-buf dma-buf: actually set signaling bit for private stub fences 2023-01-27 14:16:18 +01:00
edac EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info 2023-01-20 19:47:34 +01:00
eisa
extcon Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
firewire firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region 2023-01-17 18:09:21 +01:00
firmware Batch #3 of EFI fixes for v6.2 2023-02-03 10:25:41 -08:00
fpga fpga: m10bmc-sec: Fix probe rollback 2022-12-30 10:49:52 +08:00
fsi use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
gnss driver core: make struct class.dev_uevent() take a const * 2022-11-24 17:12:15 +01:00
gpio gpio: ep93xx: remove unused variable 2023-01-27 14:05:38 +01:00
gpu drm fixes for 6.2-rc7 2023-02-03 10:09:55 -08:00
greybus
hid for-linus-2023020901 2023-02-09 09:09:13 -08:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2022-11-25 01:04:21 +01:00
hte
hv HV: hv_balloon: fix memory leak with using debugfs_lookup() 2023-02-03 07:45:18 +01:00
hwmon hwmon updates for v6.2 merge window 2022-12-13 13:09:38 -08:00
hwspinlock
hwtracing coresight: etm4x: fix repeated words in comments 2022-11-28 18:29:53 +00:00
i2c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-02 14:49:55 -08:00
i3c i3c: export SETDASA method 2022-12-11 21:25:58 +01:00
idle
iio iio: imu: fxos8700: fix MAGN sensor scale and unit 2023-01-21 18:15:19 +00:00
infiniband mlx5-next-netdev-deadlock 2023-02-08 21:01:17 -08:00
input Input updates for v6.2-rc5 2023-01-29 11:06:47 -08:00
interconnect interconnect: qcom: rpm: Use _optional func for provider clocks 2023-01-05 17:29:57 +02:00
iommu iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() 2023-01-13 13:46:32 +01:00
ipack
irqchip RISC-V Patches for the 6.2 Merge Window, Part 1 2022-12-14 15:23:49 -08:00
isdn treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
leds treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
macintosh macintosh/macio-adb: check the return value of ioremap() 2022-11-24 23:12:18 +11:00
mailbox - qcom: enable sc8280xp, sm8550 and sm4250 support 2022-12-21 09:31:18 -08:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2022-12-02 17:48:04 +01:00
md hardening fixes for v6.2-rc6 2023-01-27 16:09:12 -08:00
media media: videobuf2: set q->streaming later 2023-01-24 16:34:06 +01:00
memory memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe() 2022-12-27 09:54:32 +01:00
memstick memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-12-09 10:29:58 +01:00
message
mfd mfd: ocelot: add external ocelot switch control 2023-01-30 21:07:21 -08:00
misc VMCI: Use threaded irqs instead of tasklets 2023-01-20 13:24:11 +01:00
mmc mmc: sunxi-mmc: Fix clock refcount imbalance during unbind 2023-01-02 15:57:36 +01:00
most
mtd mtd: cfi: allow building spi-intel standalone 2023-01-02 12:08:53 +01:00
mux
net ice: Micro-optimize .ndo_xdp_xmit() path 2023-02-13 19:13:13 +01:00
nfc nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() 2023-01-09 07:34:13 +00:00
ntb
nubus
nvdimm nvdimm/region: Move cache management to the region driver 2022-12-02 23:52:32 -08:00
nvme Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-09 12:25:40 -08:00
nvmem nvmem: qcom-spmi-sdam: fix module autoloading 2023-01-28 14:39:31 +01:00
of Devicetree fixes for v6.2, part 2: 2023-02-07 14:17:12 -08:00
opp
parisc parisc: pdc_stable: use strscpy() to instead of strncpy() 2023-01-09 09:51:56 +01:00
parport
pci pci-v6.2-fixes-1 2023-01-13 17:32:22 -06:00
pcmcia treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
peci
perf Partially revert "perf/arm-cmn: Optimise DTC counter accesses" 2023-01-26 13:55:38 +00:00
phy phy: phy-can-transceiver: Skip warning if no "max-bitrate" 2023-01-18 22:58:05 +05:30
pinctrl pinctrl: rockchip: fix mux route data for rk3568 2023-01-17 14:16:45 +01:00
platform platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match 2023-02-02 11:34:38 +01:00
pnp PNP: Do not disable devices on suspend when they cannot be re-enabled on resume 2022-11-25 19:36:52 +01:00
power power supply and reset changes for the v6.2 series 2022-12-17 08:39:31 -06:00
powercap powercap: idle_inject: Fix warnings with make W=1 2022-12-02 20:49:49 +01:00
pps
ps3 drivers/ps3: Fix double word in comments 2022-11-24 23:31:47 +11:00
ptp ptp_qoriq: fix latency in ptp_qoriq_adjtime() operation 2023-01-20 18:20:38 -08:00
pwm pwm: Changes for v6.2-rc1 2022-12-21 09:41:28 -08:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-11 19:30:20 -08:00
ras
regulator regulator: qcom-rpmh: PM8550 ldo11 regulator is an nldo 2023-01-03 15:54:38 +00:00
remoteproc remoteproc: core: Do pm_relax when in RPROC_OFFLINE state 2022-12-07 11:20:55 -07:00
reset reset: uniphier-glue: Fix possible null-ptr-deref 2023-01-03 11:30:46 +01:00
rpmsg
rtc rtc: sunplus: fix format string for printing resource 2023-01-23 23:33:47 +01:00
s390 net/smc: De-tangle ism and smc device initialization 2023-01-25 09:46:49 +00:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-02 14:49:55 -08:00
sh
siox
slimbus
soc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
soundwire soundwire updates for 6.2 2022-12-19 08:47:33 -06:00
spi spi: Merge rename of spi-cs-setup-ns DT property 2023-01-11 14:15:22 +00:00
spmi
ssb
staging staging: vchiq_arm: fix enum vchiq_status return types 2023-01-17 19:23:36 +01:00
target Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
tc
tee SoC driver updates for 6.2 2022-12-12 10:17:08 -08:00
thermal thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type() 2023-01-25 15:37:21 +01:00
thunderbolt thunderbolt: Disable XDomain lane 1 only in software connection manager 2023-01-09 10:44:43 +02:00
tty vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF 2023-01-31 15:51:52 +01:00
ufs scsi: ufs: core: Fix devfreq deadlocks 2023-01-18 19:08:37 -05:00
uio
usb usb: typec: ucsi: Don't attempt to resume the ports before they exist 2023-02-02 11:27:28 +01:00
vdpa vdpa: ifcvf: Do proper cleanup if IFCVF init fails 2023-01-27 06:18:41 -05:00
vfio vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp() 2023-01-10 10:44:37 -07:00
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-02-02 14:49:55 -08:00
video fbdev updates for kernel 6.2-rc7: 2023-02-05 11:43:00 -08:00
virt Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
virtio virtio: Implementing attribute show with sysfs_emit 2022-12-28 05:28:11 -05:00
vlynq
w1 w1: fix WARNING after calling w1_process() 2023-01-19 17:26:33 +01:00
watchdog watchdog: diag288_wdt: fix __diag288() inline assembly 2023-01-30 14:40:50 +01:00
xen net/sock: Introduce trace_sk_data_ready() 2023-01-23 11:26:50 +00:00
zorro
Kconfig
Makefile