Re: [PATCH net-next V6 2/2] net/mlx4_en: Use affinity hint

From: Eric Dumazet
Date: Mon Jun 02 2014 - 00:37:30 EST


On Sun, 2014-06-01 at 21:16 -0700, Eric Dumazet wrote:
> On Sun, 2014-05-25 at 17:47 +0300, Amir Vadai wrote:
> > From: Yuval Atias <yuvala@xxxxxxxxxxxx>
> >
> > The âaffinity hintâ mechanism is used by the user space
> > daemon, irqbalancer, to indicate a preferred CPU mask for irqs.
> > Irqbalancer can use this hint to balance the irqs between the
> > cpus indicated by the mask.
> >
> > We wish the HCA to preferentially map the IRQs it uses to numa cores
> > close to it. To accomplish this, we use cpumask_set_cpu_local_first(), that
> > sets the affinity hint according the following policy:
> > First it maps IRQs to âcloseâ numa cores. If these are exhausted, the
> > remaining IRQs are mapped to âfarâ numa cores.
> >
> > Signed-off-by: Yuval Atias <yuvala@xxxxxxxxxxxx>
> > Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx>
> > ---
>
> CC [M] drivers/net/ethernet/mellanox/mlx4/en_netdev.o
> drivers/net/ethernet/mellanox/mlx4/en_netdev.c: In function âmlx4_en_init_affinity_hintâ:
> drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1546:23: error: incompatible types when assigning to type âcpumask_var_tâ from type âvoid *â
> drivers/net/ethernet/mellanox/mlx4/en_netdev.c: In function âmlx4_en_free_affinity_hintâ:
> drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1553:41: error: incompatible types when assigning to type âcpumask_var_tâ from type âvoid *â


And :

ERROR: "cpumask_set_cpu_local_first" [drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko] undefined!


$ git grep -n cpumask_set_cpu_local_first
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:1542: if (cpumask_set_cpu_local_first(ring_idx, numa_node,
include/linux/cpumask.h:260:int cpumask_set_cpu_local_first(int i, int numa_node, cpumask_t *dstp);
lib/cpumask.c:168: * cpumask_set_cpu_local_first - set i'th cpu with local numa cpu's first
lib/cpumask.c:182:int cpumask_set_cpu_local_first(int i, int numa_node, cpumask_t *dstp)
lib/cpumask.c:228:EXPORT_SYMBOL(cpumask_set_cpu_local_first);

Fixes are needed if CONFIG_CPUMASK_OFFSTACK is not used.

$ grep CONFIG_CPUMASK_OFFSTACK .config
$ echo $?
1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/