From 35c0644e496a39d4f0fc929ef67a511b277a6cd1 Mon Sep 17 00:00:00 2001 From: Andrew Rybchenko Date: Mon, 6 Jun 2016 09:06:38 +0000 Subject: [PATCH] sfxge(4): bind interrupts to CPUs in accordance with bucket to CPU map Submitted by: Ivan Malov Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. Differential Revision: https://reviews.freebsd.org/D6721 --- sys/dev/sfxge/sfxge_intr.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/dev/sfxge/sfxge_intr.c b/sys/dev/sfxge/sfxge_intr.c index 1b58e38ef6c..821aa3f0eda 100644 --- a/sys/dev/sfxge/sfxge_intr.c +++ b/sys/dev/sfxge/sfxge_intr.c @@ -34,6 +34,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_rss.h" + #include #include #include @@ -49,6 +51,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef RSS +#include +#endif + #include "common/efx.h" #include "sfxge.h" @@ -192,7 +198,12 @@ sfxge_intr_bus_enable(struct sfxge_softc *sc) bus_describe_intr(sc->dev, table[index].eih_res, table[index].eih_tag, "%d", index); #endif +#ifdef RSS + bus_bind_intr(sc->dev, table[index].eih_res, + rss_getcpu(index)); +#else bus_bind_intr(sc->dev, table[index].eih_res, index); +#endif }