From: Willem de Bruijn <will...@google.com>

The kbuild robot shows build failure on machines without CONFIG_SMP:

  drivers/net/virtio_net.c:1916:10: error:
    implicit declaration of function 'cpumask_next_wrap'

cpumask_next_wrap is exported from lib/cpumask.o, which has

    lib-$(CONFIG_SMP) += cpumask.o

same as other functions, also define it as static inline in the
NR_CPUS==1 branch in include/linux/cpumask.h.

If wrap is false, function wraps across the range of valid cpus,
here [0]. If it is true, it returns nr_cpumask_bits, here 1.

Fixes: 2ca653d607ce ("virtio_net: Stripe queue affinities across cores.")
Signed-off-by: Willem de Bruijn <will...@google.com>
---
 include/linux/cpumask.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 57f20a0a77949..c6d0967102fe3 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -159,6 +159,12 @@ static inline unsigned int cpumask_next_and(int n,
        return n+1;
 }
 
+static inline unsigned int cpumask_next_wrap(int n, const struct cpumask *mask,
+                                            int start, bool wrap)
+{
+       return wrap;    /* cpu 0 unless stop on wrap, then nr_cpumask_bits */
+}
+
 /* cpu must be a valid cpu, ie 0, so there's no other choice. */
 static inline unsigned int cpumask_any_but(const struct cpumask *mask,
                                           unsigned int cpu)
-- 
2.18.0.597.ga71716f1ad-goog

Reply via email to