From: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
To: Gaoyang Wei <yhyxwgy@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 14:47:48 -0300 [thread overview]
Message-ID: <rKgB0LBiQcWdd3f5aVEwfw@gmail.com> (raw)
In-Reply-To: <f3f5b31e-e434-452b-a77d-72ea740a5753@gmail.com>
> > 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.
sdk userspace use normal netdev with this flags: NETIF_F_NO_CSUM (for old qmda versions en751221, en7528), IFF_NOARP, IFF_BROADCAST and clear IFF_MULTICAST
> > 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.
all tests were monitoring the IRQs and threads through top and htop on SoCs of the en7523 family (en7529ct and en7529dt) with a frequency of 1Ghz and 1.2Ghz on 2CPU cores, with 256Mb and 512Mb of ram, in total 3 tests were carried out for both implementations,
with 350, 600 and 800 MIB objects in both userspace and kernel space.
The tests monitored the total use of the system with only the xPON subsystem and the basic one for a DHCP and wireless server for 15 minutes
polling tests crashed the system several times and were not fully tested
the entire system before the xpon subsystem was started was using between 60mb~80mb of ram with both userspace and kernel space
next prev parent reply other threads:[~2026-09-27 17:47 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
2026-09-27 17:47 ` Matheus Sampaio Queiroga [this message]
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=rKgB0LBiQcWdd3f5aVEwfw@gmail.com \
--to=srherobrine20@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=xuziyougm@gmail.com \
--cc=yhyxwgy@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