From: netdev-bot+sashiko@kernel.org
To: javen_xu@realsil.com.cn
Cc: hkallweit1@gmail.com, nic_swsd@realtek.com,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, horms@kernel.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v14 7/7] r8169: add get_channel support for ethtool
Date: Tue, 22 Sep 2026 06:53:04 +0000 [thread overview]
Message-ID: <179005998439.2160803.11001186384100233406@kernel.org> (raw)
In-Reply-To: <20260918061923.313-8-javen_xu@realsil.com.cn>
Thank you for your contribution! Sashiko AI review found more severe
issue(s) in other patches of this series. This mail is only an FYI, in case
you want to address the nit picks below when you respin.
Low priority / nit picks for your consideration:
- [Low] rtl8169_get_channels()
(drivers/net/ethernet/realtek/r8169_main.c:6716-6729) does not report…
--
r8169: add get_channel support for ethtool
Adds a .get_channels ethtool callback to the r8169 driver. In multi-vector
(MSI-X) mode it reports the RX and TX channel maximums and counts, and in
single-vector mode it reports one combined channel.
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 3be6f6e708f2..7a61c2ecc7d1 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -6713,6 +6713,22 @@ static void r8169_init_napi(struct rtl8169_private *tp)
> }
> }
>
> +static void rtl8169_get_channels(struct net_device *dev,
> + struct ethtool_channels *ch)
> +{
> + struct rtl8169_private *tp = netdev_priv(dev);
> +
> + if (tp->irq_nvecs > 1) {
> + ch->max_rx = tp->hw_supp_num_rx_queues;
> + ch->max_tx = 1;
> + ch->rx_count = tp->num_rx_rings;
> + ch->tx_count = 1;
[Severity: Low]
Should this branch also report the dedicated link-change vector via
max_other/other_count?
In multi-vector mode rtl8169_request_irq() installs a separate handler on a
vector that is neither an RX nor the TX queue vector:
if (tp->irq_nvecs > 1) {
if (i <= R8169_MAX_RX_QUEUES)
rc = request_irq(irq, rtl8169_interrupt_msix,
irqflags, dev->name, napi);
else if (i == MSIX_ID_VEC_MAP_LINKCHG)
rc = request_irq(irq, rtl8169_interrupt_other,
irqflags, dev->name, tp);
and rtl_set_irq_mask() arms that source in the same mode:
if (tp->irq_nvecs > 1) {
tp->irq_mask = ISRIMR_LINKCHG | ISRIMR_TOK_Q0;
Since ch is zero-initialized by the caller and channels_fill_reply() in
net/ethtool/channels.c only emits the OTHER attributes when max_other is
non-zero:
(channels->max_other &&
(nla_put_u32(skb, ETHTOOL_A_CHANNELS_OTHER_MAX,
channels->max_other) ||
nla_put_u32(skb, ETHTOOL_A_CHANNELS_OTHER_COUNT,
channels->other_count))) ||
ethtool -l reports no "other" channel even though that interrupt is active.
ixgbe_get_channels() reports the equivalent non-queue vector:
/* report info for other vector */
if (adapter->flags & IXGBE_FLAG_MSIX_ENABLED) {
ch->max_other = NON_Q_VECTORS;
ch->other_count = NON_Q_VECTORS;
}
Would setting ch->max_other = ch->other_count = 1 in the tp->irq_nvecs > 1
branch be more accurate here? The single-vector branch looks fine as is,
since link-change events share the one combined interrupt.
> + } else {
> + ch->max_combined = 1;
> + ch->combined_count = 1;
> + }
> +}
[ ... ]
--
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260918061923.313-1-javen_xu%40realsil.com.cn
next prev parent reply other threads:[~2026-09-22 6:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 6:19 [PATCH net-next v14 0/7] r8169: add RSS support for RTL8127 javen
2026-09-18 6:19 ` [PATCH net-next v14 1/7] r8169: prepare for multi irqs and napi javen
2026-09-22 6:52 ` netdev-bot+sashiko
2026-09-18 6:19 ` [PATCH net-next v14 2/7] r8169: refactor RX path to prepare for multi-queue javen
2026-09-22 6:52 ` netdev-bot+sashiko
2026-09-18 6:19 ` [PATCH net-next v14 3/7] r8169: add support for new interrupt mapping javen
2026-09-22 6:52 ` netdev-bot+sashiko
2026-09-18 6:19 ` [PATCH net-next v14 4/7] r8169: enable " javen
2026-09-22 6:53 ` netdev-bot+sashiko
2026-09-18 6:19 ` [PATCH net-next v14 5/7] r8169: add support and enable rss javen
2026-09-22 6:53 ` netdev-bot+sashiko
2026-09-18 6:19 ` [PATCH net-next v14 6/7] r8169: move struct ethtool_ops javen
2026-09-22 6:53 ` netdev-bot+sashiko
2026-09-18 6:19 ` [PATCH net-next v14 7/7] r8169: add get_channel support for ethtool javen
2026-09-22 6:53 ` netdev-bot+sashiko [this message]
2026-09-24 10:07 ` [PATCH net-next v14 0/7] r8169: add RSS support for RTL8127 Paolo Abeni
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=179005998439.2160803.11001186384100233406@kernel.org \
--to=netdev-bot+sashiko@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=javen_xu@realsil.com.cn \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox