From: Stephen Hemminger <stephen@networkplumber.org>
To: Wencheng Li <liwencheng@phytium.com.cn>
Cc: dev@dpdk.org
Subject: Re: [PATCH v7 0/3] net/macb: updated net macb driver
Date: Tue, 27 May 2025 07:27:29 -0700 [thread overview]
Message-ID: <20250527072729.5e96c551@hermes.local> (raw)
In-Reply-To: <1744946674-31765-1-git-send-email-liwencheng@phytium.com.cn>
On Fri, 18 Apr 2025 03:24:34 +0000
Wencheng Li <liwencheng@phytium.com.cn> wrote:
> v7:
> - Use a legal name instead of an email alias.
> - Do not use additional __rte_cold.
> - Replace unsigned long with standard uint64_t.
> - Describe the devargs used by the driver in the documentation.
> - Update macb.ini.
>
> v6:
> - Fixed build failures across different OS.
>
> v5:
> - Putting __rte_unused after the declaration.
> - Correct RX-bytes and TX-bytes statistics.
> - Initialize the mbuf_initializer.
> - Add driver based on 25.07.
> - Fixed some code style issues.
>
> v4:
> - Fix tab errors in meson.build file.
> - Use RTE_LOG_LINE instead of rte_log.
> - Replace %l with %PRI*64.
> - Replace rte_smp_[r/w]mb with rte_[r/w]mb.
> - Do not use variadic arguments in macros.
> - Do not use variable-length array pkts[nb_bufs].
> - Use __rte_cache_aligned only for struct or union types alignment.
> - Support hardware Rx/Tx checksum offload.
> - Fixed some code style issues.
> v3:
> - Changed functions that always return 0 and whose return value
> is unused to void type, improving code simplicity and readability.
> - Fixed the implicit conversion issues in the
> macb_usxgmii_pcs_check_for_link and
> macb_usxgmii_pcs_check_for_link functions.
> - Added the missing SPDX license tags.
> - Added the missing mailmap entry.
> - Updated the MAINTAINERS file to include the missing information.
>
> v2:
> - Split the driver into three logically independent patches,
> rather than one large patch.
> - Added conditional compilation to address the issue of
> macb_rxtx_vec_neon.c failing to compile in certain modes.
> - Fixed some code style issues.
>
> v1:
> - updated net macb driver.
>
> *** BLURB HERE ***
This part is supposed to be removed when sending the commit message.
>
> Wencheng Li (3):
> net/macb: add new poll mode driver
> net/macb: add NEON vectorized Rx/Tx
> net/macb: add necessary docs and update related files
>
> .mailmap | 1 +
> MAINTAINERS | 6 +
> doc/guides/nics/features/macb.ini | 19 +
> doc/guides/nics/index.rst | 1 +
> doc/guides/nics/macb.rst | 180 +++
> doc/guides/rel_notes/release_25_07.rst | 4 +
> drivers/net/macb/base/generic_phy.c | 271 +++++
> drivers/net/macb/base/generic_phy.h | 202 ++++
> drivers/net/macb/base/macb_common.c | 670 ++++++++++++
> drivers/net/macb/base/macb_common.h | 253 +++++
> drivers/net/macb/base/macb_errno.h | 58 +
> drivers/net/macb/base/macb_hw.h | 1138 +++++++++++++++++++
> drivers/net/macb/base/macb_type.h | 23 +
> drivers/net/macb/base/macb_uio.c | 351 ++++++
> drivers/net/macb/base/macb_uio.h | 50 +
> drivers/net/macb/base/meson.build | 25 +
> drivers/net/macb/macb_ethdev.c | 1861 ++++++++++++++++++++++++++++++++
> drivers/net/macb/macb_ethdev.h | 91 ++
> drivers/net/macb/macb_log.h | 19 +
> drivers/net/macb/macb_rxtx.c | 1394 ++++++++++++++++++++++++
> drivers/net/macb/macb_rxtx.h | 325 ++++++
> drivers/net/macb/macb_rxtx_vec_neon.c | 675 ++++++++++++
> drivers/net/macb/meson.build | 22 +
> drivers/net/meson.build | 1 +
> 24 files changed, 7640 insertions(+)
> create mode 100644 doc/guides/nics/features/macb.ini
> create mode 100644 doc/guides/nics/macb.rst
> create mode 100644 drivers/net/macb/base/generic_phy.c
> create mode 100644 drivers/net/macb/base/generic_phy.h
> create mode 100644 drivers/net/macb/base/macb_common.c
> create mode 100644 drivers/net/macb/base/macb_common.h
> create mode 100644 drivers/net/macb/base/macb_errno.h
> create mode 100644 drivers/net/macb/base/macb_hw.h
> create mode 100644 drivers/net/macb/base/macb_type.h
> create mode 100644 drivers/net/macb/base/macb_uio.c
> create mode 100644 drivers/net/macb/base/macb_uio.h
> create mode 100644 drivers/net/macb/base/meson.build
> create mode 100644 drivers/net/macb/macb_ethdev.c
> create mode 100644 drivers/net/macb/macb_ethdev.h
> create mode 100644 drivers/net/macb/macb_log.h
> create mode 100644 drivers/net/macb/macb_rxtx.c
> create mode 100644 drivers/net/macb/macb_rxtx.h
> create mode 100644 drivers/net/macb/macb_rxtx_vec_neon.c
> create mode 100644 drivers/net/macb/meson.build
>
Noticed that this driver is resetting the log level values.
This doesn't follow pattern of other drivers.
$ git grep rte_log_set_level
macb/macb_ethdev.c: rte_log_set_level(macb_logtype, rte_log_get_global_level());
macb/macb_ethdev.c: rte_log_set_level(macb_logtype, RTE_LOG_NOTICE);
Noticed that driver has option where it needs to link with external
phy library. That should be documented more; what is the library, how to get it etc.
You are using eth0, eth1, etc in the doc but not clear what relationship if any
is with kernel driver.
I would also leave out any non-driver specific options to test-pmd in macb.rst.
These might change in the future, and are not specific to this device.
The default test-pmd values for rxq, txq, rxd, txd should be good enough.
Since macb requires out of tree kernel module.
Where is source for kernel module, what is its license?
If it is not going to be submitted to kernel as GPLv2 then this needs discussion
and approval by Technical Board.
Out of tree kernel modules are a real negative. It is hard to write good, safe, and correct
kernel code for UIO. That is why DPDK abandoned igb_uio and kni. They were buggy,
hard to support and prone to failure.
next prev parent reply other threads:[~2025-05-27 14:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 6:19 [PATCH v6 " liwencheng
2025-04-16 15:27 ` Stephen Hemminger
2025-04-18 3:24 ` [PATCH v7 " Wencheng Li
2025-05-27 14:27 ` Stephen Hemminger [this message]
2025-06-04 6:58 ` [PATCH v8 " Wencheng Li
2025-06-06 9:05 ` [PATCH v9 " Wencheng Li
2025-06-06 15:38 ` Stephen Hemminger
2025-06-10 0:20 ` Stephen Hemminger
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=20250527072729.5e96c551@hermes.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=liwencheng@phytium.com.cn \
/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;
as well as URLs for NNTP newsgroup(s).