All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Feifei Wang <wff_light@vip.163.com>
Cc: dev@dpdk.org, Feifei Wang <wangfeifei40@huawei.com>
Subject: Re: [PATCH v8 0/7] hinic3 change for support new SPx NIC
Date: Mon, 23 Mar 2026 20:27:31 -0700	[thread overview]
Message-ID: <20260323202731.6db2afb1@phoenix.local> (raw)
In-Reply-To: <20260324015516.201-1-wff_light@vip.163.com>

On Tue, 24 Mar 2026 09:55:03 +0800
Feifei Wang <wff_light@vip.163.com> wrote:

> From: Feifei Wang <wangfeifei40@huawei.com>
> 
> Change hinic3 driver to support Huawei new SPx series NIC.
> 
> v2:
> --fix build issues
> 
> v3:
> --fix community review comments and err reports
> 
> v4:
> --fix rss type assignment error
> 
> v5:
> --fix community ubuntu-22.04-clang err
> 
> v6:
> --fix atomic compilation error
> 
> v6:
> --fix community review comments
> 
> v7:
> --fix htn/stn ops function name error
> --update doc/guides for hinic3 driver
> 
> v8:
> --fix guides grammar issue
> --fix rss_type.ipv6_ext = 0 error
> 
> Feifei Wang (7):
>   net/hinic3: add support for new SPx series NIC
>   net/hinic3: add enhance cmdq support for new SPx series NIC
>   net/hinic3: use different callback func to split new/old cmdq
>     operations
>   net/hinic3: add fun init ops to support Compact CQE
>   net/hinic3: add rx ops to support Compact CQE
>   net/hinic3: add tx ops to support Compact CQE
>   net/hinic3: use different callback func to support htn fdir
> 
>  doc/guides/nics/features/hinic3.ini           |  11 +-
>  doc/guides/nics/hinic3.rst                    |   5 +-
>  doc/guides/rel_notes/release_26_03.rst        |   8 +
>  drivers/net/hinic3/base/hinic3_cmd.h          |  80 ++-
>  drivers/net/hinic3/base/hinic3_cmdq.c         | 370 ++++------
>  drivers/net/hinic3/base/hinic3_cmdq.h         | 112 ++-
>  drivers/net/hinic3/base/hinic3_cmdq_enhance.c | 111 +++
>  drivers/net/hinic3/base/hinic3_cmdq_enhance.h | 125 ++++
>  drivers/net/hinic3/base/hinic3_csr.h          |  18 +-
>  drivers/net/hinic3/base/hinic3_hw_comm.c      |  15 +-
>  drivers/net/hinic3/base/hinic3_hw_comm.h      |  31 +-
>  drivers/net/hinic3/base/hinic3_hwdev.c        |  13 +-
>  drivers/net/hinic3/base/hinic3_hwdev.h        |  18 +
>  drivers/net/hinic3/base/hinic3_hwif.c         |  10 +-
>  drivers/net/hinic3/base/hinic3_mgmt.c         |   5 +-
>  drivers/net/hinic3/base/hinic3_mgmt.h         |   2 +
>  drivers/net/hinic3/base/hinic3_nic_cfg.c      | 182 ++---
>  drivers/net/hinic3/base/hinic3_nic_cfg.h      |  98 ++-
>  drivers/net/hinic3/base/meson.build           |   1 +
>  drivers/net/hinic3/hinic3_ethdev.c            | 275 ++++++--
>  drivers/net/hinic3/hinic3_ethdev.h            | 120 ++--
>  drivers/net/hinic3/hinic3_fdir.c              | 657 +++++++++++++-----
>  drivers/net/hinic3/hinic3_fdir.h              | 361 ++++++++--
>  drivers/net/hinic3/hinic3_nic_io.c            | 525 ++++++--------
>  drivers/net/hinic3/hinic3_nic_io.h            | 163 ++++-
>  drivers/net/hinic3/hinic3_rx.c                | 267 +++++--
>  drivers/net/hinic3/hinic3_rx.h                | 182 ++++-
>  drivers/net/hinic3/hinic3_tx.c                | 456 ++++++------
>  drivers/net/hinic3/hinic3_tx.h                | 154 +++-
>  .../net/hinic3/htn_adapt/hinic3_htn_cmdq.c    | 167 +++++
>  .../net/hinic3/htn_adapt/hinic3_htn_cmdq.h    |  63 ++
>  drivers/net/hinic3/htn_adapt/meson.build      |   7 +
>  drivers/net/hinic3/meson.build                |   8 +-
>  .../net/hinic3/stn_adapt/hinic3_stn_cmdq.c    | 151 ++++
>  .../net/hinic3/stn_adapt/hinic3_stn_cmdq.h    |  46 ++
>  drivers/net/hinic3/stn_adapt/meson.build      |   7 +
>  36 files changed, 3379 insertions(+), 1445 deletions(-)
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmdq_enhance.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmdq_enhance.h
>  create mode 100644 drivers/net/hinic3/htn_adapt/hinic3_htn_cmdq.c
>  create mode 100644 drivers/net/hinic3/htn_adapt/hinic3_htn_cmdq.h
>  create mode 100644 drivers/net/hinic3/htn_adapt/meson.build
>  create mode 100644 drivers/net/hinic3/stn_adapt/hinic3_stn_cmdq.c
>  create mode 100644 drivers/net/hinic3/stn_adapt/hinic3_stn_cmdq.h
>  create mode 100644 drivers/net/hinic3/stn_adapt/meson.build
> 

The driver is clean but as a followup could you consider changing the
code to only use rte_zmalloc() where needed. The regular glibc has
more protections and is faster at alloc/free. The only reason to use
rte_malloc is when hugepages are needed for sharing, DMA or access
performance.

For example: this function should just use calloc().

int
hinic3_refill_indir_rqid(struct hinic3_rxq *rxq)
{
	struct hinic3_nic_dev *nic_dev = rxq->nic_dev;
	uint32_t *indir_tbl;
	int err;

	indir_tbl = rte_zmalloc(NULL, HINIC3_RSS_INDIR_SIZE * sizeof(uint32_t), 0);
	if (!indir_tbl) {
		PMD_DRV_LOG(ERR,
			    "Alloc indir_tbl mem failed, eth_dev:%s, queue_idx:%d",
			    nic_dev->dev_name, rxq->q_id);
		return -ENOMEM;
	}

	/* Build indir tbl according to the number of rss queue. */
	hinic3_fill_indir_tbl(nic_dev, indir_tbl);

	err = hinic3_rss_set_indir_tbl(nic_dev->hwdev, indir_tbl);
	if (err) {
		PMD_DRV_LOG(ERR,
			"Set indirect table failed, eth_dev:%s, queue_idx:%d",
			nic_dev->dev_name, rxq->q_id);
		goto out;
	}

out:
	rte_free(indir_tbl);
	return err;
}

  parent reply	other threads:[~2026-03-24  3:27 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-31 10:05 [PATCH 0/7] hinic3 change for support new SPx NIC Feifei Wang
2026-01-31 10:05 ` [PATCH 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-16 13:43   ` [V2 0/7] hinic3 change for support new SPx NIC Feifei Wang
2026-03-16 13:43     ` [V2 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-16 13:43     ` [V2 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-16 13:43     ` [V2 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-16 13:43     ` [V2 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-16 13:43     ` [V2 5/7] net/hinic3: add rx " Feifei Wang
2026-03-16 13:43     ` [V2 6/7] net/hinic3: add tx " Feifei Wang
2026-03-16 13:43     ` [V2 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-03-16 15:45     ` [V2 0/7] hinic3 change for support new SPx NIC Stephen Hemminger
2026-03-19  2:50       ` 回复: " wangfeifei (J)
2026-03-19 13:52     ` [v6 " Feifei Wang
2026-03-19 13:52       ` [V6 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-19 13:52       ` [V6 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-19 13:52       ` [V6 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-19 13:52       ` [V6 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-19 13:52       ` [V6 5/7] net/hinic3: add rx " Feifei Wang
2026-03-19 13:52       ` [V6 6/7] net/hinic3: add tx " Feifei Wang
2026-03-19 13:52       ` [V6 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-03-21 17:32       ` [v6 0/7] hinic3 change for support new SPx NIC Stephen Hemminger
2026-03-22 16:32       ` Stephen Hemminger
2026-03-23  8:04     ` [PATCH v7 " Feifei Wang
2026-03-23  8:04       ` [PATCH v7 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-23 19:51         ` Stephen Hemminger
2026-03-23  8:04       ` [PATCH v7 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-23  8:04       ` [PATCH v7 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-23  8:04       ` [PATCH v7 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-23  8:04       ` [PATCH v7 5/7] net/hinic3: add rx " Feifei Wang
2026-03-23  8:04       ` [PATCH v7 6/7] net/hinic3: add tx " Feifei Wang
2026-03-23  8:04       ` [PATCH v7 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-03-23 19:50         ` Stephen Hemminger
2026-03-24  1:19           ` 回复: " wangfeifei (J)
2026-03-24  1:55     ` [PATCH v8 0/7] hinic3 change for support new SPx NIC Feifei Wang
2026-03-24  1:55       ` [PATCH v8 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-24  1:55       ` [PATCH v8 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-24  1:55       ` [PATCH v8 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-24  1:55       ` [PATCH v8 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-24  1:55       ` [PATCH v8 5/7] net/hinic3: add rx " Feifei Wang
2026-03-24  1:55       ` [PATCH v8 6/7] net/hinic3: add tx " Feifei Wang
2026-03-24  1:55       ` [PATCH v8 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-03-24  3:27       ` Stephen Hemminger [this message]
2026-03-24  3:31       ` [PATCH v8 0/7] hinic3 change for support new SPx NIC Stephen Hemminger
2026-03-24 14:41       ` Stephen Hemminger
2026-03-24 14:42       ` Stephen Hemminger
2026-03-25  1:30         ` 回复: " wangfeifei (J)
2026-03-25 13:37         ` Thomas Monjalon
2026-03-25 14:02           ` Thomas Monjalon
2026-03-18  2:19   ` [v3 " Feifei Wang
2026-03-18  2:19     ` [V3 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-18  2:19     ` [V3 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-18  2:19     ` [V3 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-18  2:19     ` [V3 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-18  2:19     ` [V3 5/7] net/hinic3: add rx " Feifei Wang
2026-03-18  2:19     ` [V3 6/7] net/hinic3: add tx " Feifei Wang
2026-03-18  2:19     ` [V3 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-03-18  6:20   ` [v4 0/7] hinic3 change for support new SPx NIC Feifei Wang
2026-03-18  6:20     ` [V4 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-18  6:20     ` [V4 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-18  6:20     ` [V4 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-18  6:20     ` [V4 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-18  6:20     ` [V4 5/7] net/hinic3: add rx " Feifei Wang
2026-03-18  6:20     ` [V4 6/7] net/hinic3: add tx " Feifei Wang
2026-03-18  6:20     ` [V4 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-03-18 12:31   ` [v5 0/7] hinic3 change for support new SPx NIC Feifei Wang
2026-03-18 12:31     ` [V5 1/7] net/hinic3: add support for new SPx series NIC Feifei Wang
2026-03-18 12:31     ` [V5 2/7] net/hinic3: add enhance cmdq " Feifei Wang
2026-03-18 12:31     ` [V5 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-03-18 12:31     ` [V5 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-03-18 12:32     ` [V5 5/7] net/hinic3: add rx " Feifei Wang
2026-03-18 12:32     ` [V5 6/7] net/hinic3: add tx " Feifei Wang
2026-03-18 12:32     ` [V5 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-01-31 10:05 ` [PATCH 2/7] net/hinic3: add enhance cmdq support for new SPx series NIC Feifei Wang
2026-01-31 10:05 ` [PATCH 3/7] net/hinic3: use different callback func to split new/old cmdq operations Feifei Wang
2026-01-31 10:06 ` [PATCH 4/7] net/hinic3: add fun init ops to support Compact CQE Feifei Wang
2026-01-31 10:06 ` [PATCH 5/7] net/hinic3: add rx " Feifei Wang
2026-01-31 10:06 ` [PATCH 6/7] net/hinic3: add tx " Feifei Wang
2026-01-31 10:06 ` [PATCH 7/7] net/hinic3: use different callback func to support htn fdir Feifei Wang
2026-01-31 18:17   ` [REVIEW] net/hinic3: use different callback func to support htnfdir Stephen Hemminger
2026-02-02  1:17     ` 回复: " wangfeifei (J)

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=20260323202731.6db2afb1@phoenix.local \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=wangfeifei40@huawei.com \
    --cc=wff_light@vip.163.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.