From bad008ce85b57a55b012cdbacf6de75735822d8c Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Thu, 22 May 2014 07:25:36 +0000 Subject: [PATCH] Use CPU_FIRST() / CPU_NEXT() to iterate over the valid CPU IDs. --- sys/netinet/in_rss.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/netinet/in_rss.c b/sys/netinet/in_rss.c index a95f0c3cbf11..e4e86f57e9b5 100644 --- a/sys/netinet/in_rss.c +++ b/sys/netinet/in_rss.c @@ -176,6 +176,7 @@ static void rss_init(__unused void *arg) { u_int i; + u_int cpuid; /* * Validate tunables, coerce to sensible values. @@ -245,11 +246,12 @@ rss_init(__unused void *arg) /* * Set up initial CPU assignments: round-robin by default. - * - * XXXRW: Need a mapping to non-contiguous IDs here. */ - for (i = 0; i < rss_buckets; i++) - rss_table[i].rte_cpu = i % rss_ncpus; + cpuid = CPU_FIRST(); + for (i = 0; i < rss_buckets; i++) { + rss_table[i].rte_cpu = cpuid; + cpuid = CPU_NEXT(cpuid); + } /* * Randomize rrs_key.