All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Fan Gong <gongfan1@huawei.com>
Cc: Zhu Yikai <zhuyikai1@h-partners.com>, <netdev@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
	Andrew Lunn <andrew+netdev@lunn.ch>, <linux-doc@vger.kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Bjorn Helgaas <helgaas@kernel.org>, luosifu <luosifu@huawei.com>,
	Xin Guo <guoxin09@huawei.com>,
	Shen Chenyang <shenchenyang1@hisilicon.com>,
	Zhou Shuai <zhoushuai28@huawei.com>, Wu Like <wulike1@huawei.com>,
	Shi Jing <shijing34@huawei.com>,
	Meny Yossefi <meny.yossefi@huawei.com>,
	Gur Stavi <gur.stavi@huawei.com>, Lee Trager <lee@trager.us>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Vadim Fedorenko <vadim.fedorenko@linux.dev>,
	Suman Ghosh <sumang@marvell.com>,
	Przemek Kitszel <przemyslaw.kitszel@intel.com>,
	Joe Damato <jdamato@fastly.com>,
	Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Subject: Re: [PATCH net-next v03 11/14] hinic3: Add Rss function
Date: Tue, 2 Sep 2025 18:28:29 -0700	[thread overview]
Message-ID: <20250902182829.2fc36565@kernel.org> (raw)
In-Reply-To: <aefef696392e1eadce2c9de833dc40feb439df8e.1756524443.git.zhuyikai1@h-partners.com>

On Sat, 30 Aug 2025 16:08:50 +0800 Fan Gong wrote:
> +static void hinic3_fillout_indir_tbl(struct net_device *netdev, u16 *indir)
> +{
> +	struct hinic3_nic_dev *nic_dev = netdev_priv(netdev);
> +	u16 i, num_qps;
> +
> +	num_qps = nic_dev->q_params.num_qps;
> +	for (i = 0; i < L2NIC_RSS_INDIR_SIZE; i++)
> +		indir[i] = i % num_qps;

ethtool_rxfh_indir_default()

> +/* Get number of CPUs on same NUMA node of device. */
> +static unsigned int dev_num_cpus(struct device *dev)
> +{
> +	unsigned int i, num_cpus, num_node_cpus;
> +	int dev_node;
> +
> +	dev_node = dev_to_node(dev);
> +	num_cpus = num_online_cpus();
> +	num_node_cpus = 0;
> +
> +	for (i = 0; i < num_cpus; i++) {
> +		if (cpu_to_node(i) == dev_node)
> +			num_node_cpus++;
> +	}
> +
> +	return num_node_cpus ? : num_cpus;

Please use netif_get_num_default_rss_queues().
If you think its heuristic should be improved -- fix it,
but don't invent driver-local logic.

> +static void decide_num_qps(struct net_device *netdev)
> +{
> +	struct hinic3_nic_dev *nic_dev = netdev_priv(netdev);
> +	unsigned int dev_cpus;
> +
> +	dev_cpus = dev_num_cpus(&nic_dev->pdev->dev);
> +	nic_dev->q_params.num_qps = min(dev_cpus, nic_dev->max_qps);

  reply	other threads:[~2025-09-03  1:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-30  8:08 [PATCH net-next v03 00/14] net: hinic3: Add a driver for Huawei 3rd gen NIC - sw and hw initialization Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 01/14] hinic3: HW initialization Fan Gong
2025-09-03  1:06   ` Jakub Kicinski
2025-08-30  8:08 ` [PATCH net-next v03 02/14] hinic3: HW management interfaces Fan Gong
2025-09-03  1:06   ` Jakub Kicinski
2025-09-03  1:08   ` Jakub Kicinski
2025-09-03  1:09   ` Jakub Kicinski
2025-08-30  8:08 ` [PATCH net-next v03 03/14] hinic3: HW common function initialization Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 04/14] hinic3: HW capability initialization Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 05/14] hinic3: Command Queue flush interfaces Fan Gong
2025-09-03  1:15   ` Jakub Kicinski
2025-08-30  8:08 ` [PATCH net-next v03 06/14] hinic3: Nic_io initialization Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 07/14] hinic3: Queue pair endianness improvements Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 08/14] hinic3: Queue pair resource initialization Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 09/14] hinic3: Queue pair context initialization Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 10/14] hinic3: Tx & Rx configuration Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 11/14] hinic3: Add Rss function Fan Gong
2025-09-03  1:28   ` Jakub Kicinski [this message]
2025-08-30  8:08 ` [PATCH net-next v03 12/14] hinic3: Add port management Fan Gong
2025-09-03  1:30   ` Jakub Kicinski
2025-08-30  8:08 ` [PATCH net-next v03 13/14] hinic3: Fix missing napi->dev in netif_queue_set_napi Fan Gong
2025-08-30  8:08 ` [PATCH net-next v03 14/14] hinic3: Fix code style (Missing a blank line before return) Fan Gong

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=20250902182829.2fc36565@kernel.org \
    --to=kuba@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gongfan1@huawei.com \
    --cc=guoxin09@huawei.com \
    --cc=gur.stavi@huawei.com \
    --cc=helgaas@kernel.org \
    --cc=horms@kernel.org \
    --cc=jdamato@fastly.com \
    --cc=lee@trager.us \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luosifu@huawei.com \
    --cc=meny.yossefi@huawei.com \
    --cc=mpe@ellerman.id.au \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=shenchenyang1@hisilicon.com \
    --cc=shijing34@huawei.com \
    --cc=sumang@marvell.com \
    --cc=vadim.fedorenko@linux.dev \
    --cc=wulike1@huawei.com \
    --cc=zhoushuai28@huawei.com \
    --cc=zhuyikai1@h-partners.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.