Netdev List
 help / color / mirror / Atom feed
From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
To: Paolo Abeni <pabeni@redhat.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Wen Gu <guwen@linux.alibaba.com>,
	Philo Lu <lulie@linux.alibaba.com>,
	Vadim Fedorenko <vadim.fedorenko@linux.dev>,
	Dong Yibo <dong100@mucse.com>,
	Mingyu Wang <25181214217@stu.xidian.edu.cn>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Dust Li <dust.li@linux.alibaba.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next v42 0/8] eea: Add basic driver framework for Alibaba Elastic Ethernet Adaptor
Date: Wed, 13 May 2026 17:29:57 +0800	[thread overview]
Message-ID: <1778664597.4457154-1-xuanzhuo@linux.alibaba.com> (raw)
In-Reply-To: <1c5a2912-6d24-4709-b3da-9a58f0731e9f@redhat.com>

On Thu, 7 May 2026 12:30:15 +0200, Paolo Abeni <pabeni@redhat.com> wrote:
> On 5/4/26 4:44 PM, Xuan Zhuo wrote:
> > Add a driver framework for EEA that will be available in the future.
> >
> > This driver is currently quite minimal, implementing only fundamental
> > core functionalities. Key features include: I/O queue management via
> > adminq, basic PCI-layer operations, and essential RX/TX data
> > communication capabilities. It also supports the creation,
> > initialization, and management of network devices (netdev). Furthermore,
> > the ring structures for both I/O queues and adminq have been abstracted
> > into a simple, unified, and reusable library implementation,
> > facilitating future extension and maintenance.
>
> I forwarded you the comments from nipa-sashiko. There are more on
> gemini, even a good deal of them looks invalid. For future revisions, it
> would help moving this series forward to triage such comments,
> explicitly marking the invalid ones.

Allow me to summarize the situation briefly:

eea: introduce PCI framework
     Sashiko questioned if read_poll_timeout could return early by reading the
     value we just wrote. While this is a valid concern for generic PCI
     devices, it is not an issue here. In our scenario, the DPU software
     handles all IOMMU responses, ensuring that the register transition is
     atomic relative to the software service. Thus, no hardware-side race
     condition exists, and the current handshake is robust by design.

eea: introduce ring and descriptor structures
     This commit has passed regression testing multiple times and is considered
     stable. We can likely drop it from our focus list.

eea: probe the netdevice and create adminq
     Sashiko has repeatedly expressed concerns that the device might access the
     ring if eea_pci_set_aq_up fails. While the ring's DMA address is configured
     in the hardware beforehand, the device is architecturally designed to only
     begin ring processing upon a successful return from eea_pci_set_aq_up. If
     this step fails, the device remains idle and will not perform any write
     operations to the ring. Thus, there is no risk of invalid hardware access.

eea: create/destroy rx,tx queues for netdevice open and stop
     This section seems to be a persistent source of minor glitches. ^_^

eea: implement packet receive logic
     I believe this commit is ready. It hasn't triggered any meaningful issues
     for a long time. Sashiko’s concern primarily centers on error handling
     during multi-fragment processing—specifically, whether a mid-stream
     exception might cause the driver to misidentify subsequent fragments as the
     start of a new packet. However, from a driver perspective, there is little
     we can do in such scenarios; if the hardware state becomes corrupted in
     this way, it constitutes a critical hardware error that is effectively
     beyond the driver's recovery capability.

eea: implement packet transmit logic
     Sashiko requested that we clear the descriptor (desc) fields before
     dispatch. However, according to our current design, unused fields in the
     descriptor do not require explicit clearing. I believe this addition is
     unnecessary and could introduce overhead without providing actual value.
     Regarding the other points on exception handling, I maintain my previous
     stance: if the hardware enters a faulty state, the driver's ability to
     recover is inherently limited. I don't see the benefit in over-engineering
     the driver to compensate for catastrophic hardware failures.

eea: introduce ethtool support
     This commit has passed regression testing multiple times and is considered
     stable. We can likely drop it from our focus list.

eea: introduce callback for ndo_get_stats64 and register netdev
     There is a standing requirement for linear growth in the stats counters.
     However, I plan to introduce qstats (queue-specific statistics) in a future
     update, which will be a more appropriate place for such tracking. I intend
     to defer this feature until that implementation; it will not be included in
     the current version.

Thanks.













>
> Thanks,
>
> Paolo
>

      reply	other threads:[~2026-05-13  9:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-04 14:44 [PATCH net-next v42 0/8] eea: Add basic driver framework for Alibaba Elastic Ethernet Adaptor Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 1/8] eea: introduce PCI framework Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 2/8] eea: introduce ring and descriptor structures Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 3/8] eea: probe the netdevice and create adminq Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 4/8] eea: create/destroy rx,tx queues for netdevice open and stop Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 5/8] eea: implement packet receive logic Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 6/8] eea: implement packet transmit logic Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 7/8] eea: introduce ethtool support Xuan Zhuo
2026-05-04 14:44 ` [PATCH net-next v42 8/8] eea: introduce callback for ndo_get_stats64 and register netdev Xuan Zhuo
2026-05-07 10:30 ` [PATCH net-next v42 0/8] eea: Add basic driver framework for Alibaba Elastic Ethernet Adaptor Paolo Abeni
2026-05-13  9:29   ` Xuan Zhuo [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=1778664597.4457154-1-xuanzhuo@linux.alibaba.com \
    --to=xuanzhuo@linux.alibaba.com \
    --cc=25181214217@stu.xidian.edu.cn \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=dong100@mucse.com \
    --cc=dust.li@linux.alibaba.com \
    --cc=edumazet@google.com \
    --cc=guwen@linux.alibaba.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=lulie@linux.alibaba.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=vadim.fedorenko@linux.dev \
    /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