Re: [PATCH net-next V2 1/2] net: Utility function to get affinity_hint by policy
flat view
From: Sergei Shtylyov <hidden>
Date: 2014-03-05 14:42:28
Hello. On 05-03-2014 14:09, Amir Vadai wrote:
This function sets the affinity_mask according to a numa aware policy. affinity_mask could be used as an affinity hint for the IRQ related to this rx queue. Current policy is to spread rx queues accross cores - local cores first. It could be extended in the future.
CC: Prarit Bhargava <redacted> CC: Govindarajulu Varadarajan <redacted> Signed-off-by: Amir Vadai <redacted>
[...]
quoted hunk ↗ jump to hunk
diff --git a/net/core/dev.c b/net/core/dev.c index b1b0c8d..0b22f67 100644 --- a/net/core/dev.c +++ b/net/core/dev.c@@ -2116,6 +2116,62 @@ int netif_set_real_num_rx_queues(struct net_device *dev, unsigned int rxq) EXPORT_SYMBOL(netif_set_real_num_rx_queues); #endif +/* netif_set_rx_queue_affinity_hint - set affinity hint of rx queue
This should be a comment in the kernel-doc style, starting with /** on a line of its own.
quoted hunk ↗ jump to hunk
+ * @rxq: index of rx queue + * @numa_node: prefered numa_node + * @affinity_mask: the relevant cpu bit is set according to the policy + * + * This function sets the affinity_mask according to a numa aware policy. + * affinity_mask coulbe used as an affinity hint for the IRQ related to this + * rx queue. + * The policy is to spread rx queues accross cores - local cores first. + * + * Returns 0 on success, or a negative error code. + */ +int netif_set_rx_queue_affinity_hint(int rxq, int numa_node, + cpumask_var_t affinity_mask) +{ + const struct cpumask *p_numa_cores_mask; + cpumask_var_t non_numa_cores_mask = NULL; + int affinity_cpu; + int ret = 0; + + rxq = rxq % num_online_cpus();
Why not: rxq %= num_online_cpus(); WBR, Sergei