Re: [PATCH net-next v03 11/14] hinic3: Add Rss function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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);




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux