Netdev List
 help / color / mirror / Atom feed
From: Gaoyang Wei <yhyxwgy@gmail.com>
To: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
Cc: netdev@vger.kernel.org, pbs05 <xuziyougm@gmail.com>,
	Benjamin Larsson <benjamin.larsson@genexis.eu>,
	Lorenzo Bianconi <lorenzo@kernel.org>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	Russell King <linux@armlinux.org.uk>
Subject: Re: [RFC] net: towards a generic PON framework
Date: Sun, 27 Sep 2026 12:38:56 +0800	[thread overview]
Message-ID: <f3f5b31e-e434-452b-a77d-72ea740a5753@gmail.com> (raw)
In-Reply-To: <tyVeMFhOR4aOm-Y3BnbglQ@gmail.com>

Hi Matheus,

Thanks, the measurements are useful.

I think there are two details I would like to clarify before drawing
conclusions from them.

 > I exposed it by poling in ioctl in the dirtiest way possible, by
 > generic netlink and for sysfs.

This sounds different from the packet-oriented net_device design I was
asking about.

My earlier question was specifically about the OMCI interface which
users were able to attach to a bridge: was that interface registered
as ARPHRD_ETHER?

If so, I think the bridge problem is probably orthogonal to whether
OMCI is represented by a net_device.  An ARPHRD_NONE OMCI device with
no Ethernet header should not be bridgeable in the first place.

 > with a similar port of the Airoha SDK I had CPU usage of around
 > 2~15% ...
 >
 > With OMCI in the kernel, the CPU overhead dropped to around
 > 0.8~2.0% ...

Could you describe how these numbers were measured?

In particular, it would be useful to know:

   - which SoC and CPU frequency were used;
   - whether the userspace version used polling, Generic Netlink, or a
     packet socket in the measured configuration;
   - what the MIB size / message rate was;
   - whether the memory numbers are process RSS, total system memory,
     or kernel allocations;
   - whether both implementations used the same MIB representation.

I ask because a polling ioctl/sysfs implementation would have very
different overhead from an AF_PACKET-based OMCI transport, so I do not
think we can yet attribute the measured difference to the
kernel/userspace boundary itself.

The Realtek case you described is also useful.  If the OMCI payload is
the same and only the data source and hardware delivery path differ,
that sounds like a good candidate for a small transport/backend
abstraction rather than putting those vendor differences into the
generic OMCI model.

On the optical side, your explanation also helps.  Keeping telemetry
in hwmon, calibration in NVMEM, and leaving wavelength/frequency
selection to the PHY where the PHY already owns it sounds like a
reasonable boundary to me.

Thanks,
Gaoyang

  reply	other threads:[~2026-09-27  4:39 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-26 17:46 [RFC] net: towards a generic PON framework Gaoyang Wei
2026-09-26 19:28 ` Matheus Sampaio Queiroga
2026-09-26 20:21   ` Gaoyang Wei
2026-09-26 21:55     ` Matheus Sampaio Queiroga
2026-09-26 22:15       ` Gaoyang Wei
2026-09-27  0:05         ` Matheus Sampaio Queiroga
2026-09-27  4:38           ` Gaoyang Wei [this message]
2026-09-27 17:47             ` Matheus Sampaio Queiroga
2026-09-27 18:27               ` Gaoyang Wei
2026-09-27 16:57 ` Andrew Lunn
2026-09-27 17:22   ` Gaoyang Wei
2026-09-27 19:24     ` Ziyou Xu
2026-09-27 19:47     ` Andrew Lunn
2026-09-27 20:29       ` Ziyou Xu
2026-09-27 22:30         ` Andrew Lunn
2026-09-27 22:49         ` Andrew Lunn
2026-09-27 23:11           ` Gaoyang Wei
2026-09-28  1:25             ` Andrew Lunn
2026-09-28  8:37               ` John Crispin
2026-09-28 10:54                 ` Benjamin Larsson
2026-09-28 14:10                   ` Andrew Lunn
2026-10-01 12:25                     ` Benjamin Larsson
2026-09-28 11:23                 ` Gaoyang Wei
2026-09-28 14:05                 ` Andrew Lunn
2026-09-27 20:47 ` Benjamin Larsson
2026-09-27 20:58   ` Gaoyang Wei

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=f3f5b31e-e434-452b-a77d-72ea740a5753@gmail.com \
    --to=yhyxwgy@gmail.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=benjamin.larsson@genexis.eu \
    --cc=linux@armlinux.org.uk \
    --cc=lorenzo@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=srherobrine20@gmail.com \
    --cc=xuziyougm@gmail.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