From be70fddbb87e001bbae69536a46e3c1e2a37cad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 14 Oct 2024 22:15:58 +0200 Subject: [PATCH] nic/pc: disable IRQ coalescing in R8169 driver This commit patches the DDE Linux contrib code to remove IRQ coalescing from the R8169 driver that for reason not yet known leads to interrupts occurring irregularly. Issue #5356. --- .../patches/r8169_disable_irq_coalescing.patch | 15 +++++++++++++++ repos/dde_linux/ports/linux.hash | 2 +- repos/dde_linux/ports/linux.port | 3 ++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 repos/dde_linux/patches/r8169_disable_irq_coalescing.patch diff --git a/repos/dde_linux/patches/r8169_disable_irq_coalescing.patch b/repos/dde_linux/patches/r8169_disable_irq_coalescing.patch new file mode 100644 index 0000000000..87e69a57f2 --- /dev/null +++ b/repos/dde_linux/patches/r8169_disable_irq_coalescing.patch @@ -0,0 +1,15 @@ +Disable IRQ coalescing as it seems to not work properly in our +port because at some point triggering interrupts stops altogether. +In this case the netperf tests produce around 0.1(!) MBit/s of +throughput. +--- src/linux/drivers/net/ethernet/realtek/r8169_main.c ++++ src/linux/drivers/net/ethernet/realtek/r8169_main.c +@@ -5374,7 +5374,7 @@ + dev->hw_features |= NETIF_F_RXALL; + dev->hw_features |= NETIF_F_RXFCS; + +- netdev_sw_irq_coalesce_default_on(dev); ++ // netdev_sw_irq_coalesce_default_on(dev); + + /* configure chip for default features */ + rtl8169_set_features(dev, dev->features); diff --git a/repos/dde_linux/ports/linux.hash b/repos/dde_linux/ports/linux.hash index 63ad33ef51..e5e5f25405 100644 --- a/repos/dde_linux/ports/linux.hash +++ b/repos/dde_linux/ports/linux.hash @@ -1 +1 @@ -403e8fecb5e0303605e2c7b913089710e66ad3d6 +501de7d0dc5363c9f271c2cd853b963b2a881438 diff --git a/repos/dde_linux/ports/linux.port b/repos/dde_linux/ports/linux.port index 1f645de54b..ba49c27c46 100644 --- a/repos/dde_linux/ports/linux.port +++ b/repos/dde_linux/ports/linux.port @@ -18,6 +18,7 @@ PATCH_FILES := i915_irq.patch \ usb_net_cdc_ncm.patch \ usb_net_pinephone.patch \ usb_net_smsc95xx.patch \ - workqueue_deadlock.patch + workqueue_deadlock.patch \ + r8169_disable_irq_coalescing.patch PATCHES += $(addprefix patches/,$(PATCH_FILES))