From: Heiner Kallweit <hkallweit1@gmail.com>
To: Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
Eric Dumazet <edumazet@google.com>,
David Miller <davem@davemloft.net>,
Realtek linux nic maintainers <nic_swsd@realtek.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Ken Milmore <ken.milmore@gmail.com>
Subject: [PATCH net 0/2] r8169: Fix GRO-related issue with not disabled device interrupts
Date: Tue, 14 May 2024 08:49:20 +0200 [thread overview]
Message-ID: <6d4a0450-9be1-4d91-ba18-5e9bd750fa40@gmail.com> (raw)
Ken reported that RTL8125b can lock up if gro_flush_timeout has the
default value of 20000 and napi_defer_hard_irqs is set to 0.
In this scenario device interrupts aren't disabled, what seems to
trigger some silicon bug under heavy load. I was able to reproduce this
behavior on RTL8168h.
Disabling device interrupts if NAPI is scheduled from a place other than
the driver's interrupt handler is a necessity in r8169, for other
drivers it may still be a performance optimization.
Therefore add a variant of napi_schedule_prep() with a more granular
return value.
Patch was verified to fix the issue for RTL8168h.
Heiner Kallweit (2):
net: add napi_schedule_prep variant with more granular return value
r8169: disable interrupts also for GRO-scheduled NAPI
drivers/net/ethernet/realtek/r8169_main.c | 6 ++++--
include/linux/netdevice.h | 7 ++++++-
net/core/dev.c | 12 ++++++------
3 files changed, 16 insertions(+), 9 deletions(-)
--
2.45.0
next reply other threads:[~2024-05-14 6:49 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-14 6:49 Heiner Kallweit [this message]
2024-05-14 6:50 ` [PATCH net 1/2] net: add napi_schedule_prep variant with more granular return value Heiner Kallweit
2024-05-14 11:07 ` Eric Dumazet
2024-05-14 11:40 ` Heiner Kallweit
2024-05-14 6:52 ` [PATCH net 2/2] r8169: disable interrupts also for GRO-scheduled NAPI Heiner Kallweit
2024-05-14 9:45 ` Eric Dumazet
2024-05-14 10:52 ` Alexander Lobakin
2024-05-14 11:05 ` Eric Dumazet
2024-05-14 11:17 ` Alexander Lobakin
2024-05-14 14:27 ` Eric Dumazet
2024-05-14 11:29 ` Heiner Kallweit
2024-05-14 14:11 ` Jakub Kicinski
2024-05-14 16:35 ` Heiner Kallweit
2024-05-14 16:49 ` Jakub Kicinski
2024-05-14 17:09 ` Heiner Kallweit
2024-05-14 17:47 ` Jakub Kicinski
2024-05-14 17:49 ` Jakub Kicinski
2024-05-14 20:47 ` Ken Milmore
2024-05-15 5:53 ` Heiner Kallweit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6d4a0450-9be1-4d91-ba18-5e9bd750fa40@gmail.com \
--to=hkallweit1@gmail.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=ken.milmore@gmail.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nic_swsd@realtek.com \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.