From: "Markus Stockhausen" <markus.stockhausen@gmx.de>
To: "'Andrew Lunn'" <andrew@lunn.ch>
Cc: <hkallweit1@gmail.com>, <linux@armlinux.org.uk>,
<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <netdev@vger.kernel.org>,
<chris.packham@alliedtelesis.co.nz>, <daniel@makrotopia.org>,
<mensi@mensi.ch>
Subject: AW: [PATCH net-next 8/8] net: mdio: realtek-rtl9300: Convert port lookup from O(n) to O(1)
Date: Tue, 2 Jun 2026 22:02:06 +0200 [thread overview]
Message-ID: <013001dcf2ca$b1b188f0$15149ad0$@gmx.de> (raw)
In-Reply-To: <6ae0d4c1-bc9a-4972-8d4d-b1580a4565e2@lunn.ch>
> Von: Andrew Lunn <andrew@lunn.ch>
> Gesendet: Dienstag, 2. Juni 2026 14:30
> An: Markus Stockhausen <markus.stockhausen@gmx.de>
> Betreff: Re: [PATCH net-next 8/8] net: mdio: realtek-rtl9300: Convert port
lookup from O(n) to O(1)
>...
> > Create a reverse lookup table per channel during setup. This stores
> > the
> > (overall) port number per PHY (on that channel). Take special care
> > about absent ports that are missing from device tree because of hardware
design.
> > Save memory by using s8 type for the table (-1 = absent, 0..56 = port).
> > Convert the lookup in otto_emdio_phy_to_port() from loop-based to
> > table-based.
>
> Generally, for performance patches, you would include some benchmark
numbers.
>
> What percentage of the time of an MDIO transaction is doing the lookup, vs
shifting bits out the hardware and polling for completion?
> A 2.5MHz bus is not very fast, compared to a 500MHz CPU.
IIRC I saved 100us per polling loop over all 52 ports of a RTL839x switch.
But this was too long ago and I will need to verify this once again. It is
not critical for now so I will drop the patch for v2.
Markus
prev parent reply other threads:[~2026-06-02 20:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-02 5:26 [PATCH net-next 0/8] net: mdio: realtek-rtl9300: Refactor initialization and port lookup Markus Stockhausen
2026-06-02 5:26 ` [PATCH net-next 1/8] net: mdio: realtek-rtl9300: Convert to fwnode API Markus Stockhausen
2026-06-02 12:06 ` Andrew Lunn
2026-06-02 12:29 ` AW: " Markus Stockhausen
2026-06-02 12:50 ` Andrew Lunn
2026-06-02 18:05 ` Jakub Kicinski
2026-06-02 18:58 ` AW: " Markus Stockhausen
2026-06-02 5:26 ` [PATCH net-next 2/8] net: mdio: realtek-rtl9300: Correctly handle ethernet-phy-package Markus Stockhausen
2026-06-02 9:32 ` Jagielski, Jedrzej
2026-06-02 10:23 ` AW: " Markus Stockhausen
2026-06-02 11:22 ` Jagielski, Jedrzej
2026-06-02 5:26 ` [PATCH net-next 3/8] net: mdio: realtek-rtl9300: harden otto_emdio_map_ports() Markus Stockhausen
2026-06-02 9:38 ` Jagielski, Jedrzej
2026-06-02 10:42 ` AW: " Markus Stockhausen
2026-06-02 11:29 ` Jagielski, Jedrzej
2026-06-02 12:14 ` Andrew Lunn
2026-06-02 5:26 ` [PATCH net-next 4/8] net: mdio: realtek-rtl9300: harden otto_emdio_probe_one() Markus Stockhausen
2026-06-02 5:26 ` [PATCH net-next 5/8] net: mdio: realtek-rtl9300: adapt spaces for defines Markus Stockhausen
2026-06-02 9:42 ` Jagielski, Jedrzej
2026-06-02 10:18 ` AW: " Markus Stockhausen
2026-06-02 11:16 ` Jagielski, Jedrzej
2026-06-02 12:20 ` Andrew Lunn
2026-06-02 5:26 ` [PATCH net-next 6/8] net: mdio: realtek-rtl9300: relocate topology setup Markus Stockhausen
2026-06-02 9:50 ` Jagielski, Jedrzej
2026-06-02 10:50 ` AW: " Markus Stockhausen
2026-06-02 12:24 ` Andrew Lunn
2026-06-02 13:01 ` AW: " Markus Stockhausen
2026-06-02 15:17 ` Andrew Lunn
2026-06-02 18:48 ` AW: " Markus Stockhausen
2026-06-02 20:29 ` Andrew Lunn
2026-06-02 5:26 ` [PATCH net-next 7/8] net: mdio: realtek-rtl9300: reorder controller setup Markus Stockhausen
2026-06-02 5:26 ` [PATCH net-next 8/8] net: mdio: realtek-rtl9300: Convert port lookup from O(n) to O(1) Markus Stockhausen
2026-06-02 12:30 ` Andrew Lunn
2026-06-02 20:02 ` Markus Stockhausen [this message]
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='013001dcf2ca$b1b188f0$15149ad0$@gmx.de' \
--to=markus.stockhausen@gmx.de \
--cc=andrew@lunn.ch \
--cc=chris.packham@alliedtelesis.co.nz \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mensi@mensi.ch \
--cc=netdev@vger.kernel.org \
--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