From 5916cc0abc7ee8a56245be5a227300c6e053ac39 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 10 Mar 2025 16:21:22 +0100 Subject: [PATCH] 6.6-stable patches added patches: net-cadence-macb-enable-software-irq-coalescing-by-default.patch --- ...e-software-irq-coalescing-by-default.patch | 38 +++++++++++++++++++ queue-6.6/series | 1 + 2 files changed, 39 insertions(+) create mode 100644 queue-6.6/net-cadence-macb-enable-software-irq-coalescing-by-default.patch diff --git a/queue-6.6/net-cadence-macb-enable-software-irq-coalescing-by-default.patch b/queue-6.6/net-cadence-macb-enable-software-irq-coalescing-by-default.patch new file mode 100644 index 0000000000..637c454aab --- /dev/null +++ b/queue-6.6/net-cadence-macb-enable-software-irq-coalescing-by-default.patch @@ -0,0 +1,38 @@ +From d57f7b45945ac0517ff8ea50655f00db6e8d637c Mon Sep 17 00:00:00 2001 +From: Sean Anderson +Date: Tue, 3 Sep 2024 14:49:12 -0400 +Subject: net: cadence: macb: Enable software IRQ coalescing by default + +From: Sean Anderson + +commit d57f7b45945ac0517ff8ea50655f00db6e8d637c upstream. + +This NIC doesn't have hardware IRQ coalescing. Under high load, +interrupts can adversely affect performance. To mitigate this, enable +software IRQ coalescing by default. On my system this increases receive +throughput with iperf3 from 853 MBit/sec to 934 MBit/s, decreases +interrupts from 69489/sec to 2016/sec, and decreases CPU utilization +from 27% (4x Cortex-A53) to 14%. Latency is not affected (as far as I +can tell). + +Signed-off-by: Sean Anderson +Reviewed-by: Simon Horman +Link: https://patch.msgid.link/20240903184912.4151926-1-sean.anderson@linux.dev +Signed-off-by: Jakub Kicinski +Cc: Daniel J Blueman +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/cadence/macb_main.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/net/ethernet/cadence/macb_main.c ++++ b/drivers/net/ethernet/cadence/macb_main.c +@@ -4154,6 +4154,8 @@ static int macb_init(struct platform_dev + dev->ethtool_ops = &macb_ethtool_ops; + } + ++ netdev_sw_irq_coalesce_default_on(dev); ++ + dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; + + /* Set features */ diff --git a/queue-6.6/series b/queue-6.6/series index 96ed86197f..64d7abde5f 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -131,3 +131,4 @@ kbuild-hdrcheck-fix-cross-build-with-clang.patch alsa-hda-realtek-fix-incorrect-is_reachable-usage.patch riscv-fix-enabling-cbo.zero-when-running-in-m-mode.patch riscv-save-restore-envcfg-csr-during-cpu-suspend.patch +net-cadence-macb-enable-software-irq-coalescing-by-default.patch -- 2.47.3