[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <65634d660803110920g5103dc60ya055a10f999b4e25@mail.gmail.com>
Date: Tue, 11 Mar 2008 09:20:55 -0700
From: "Tom Herbert" <therbert@...gle.com>
To: "Brandeburg, Jesse" <jesse.brandeburg@...el.com>
Cc: "Max Krasnyanskiy" <maxk@...lcomm.com>,
"David Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
"Steven Rostedt" <rostedt@...dmis.org>,
"Ingo Molnar" <mingo@...e.hu>
Subject: Re: RFC [PATCH net-2.6 1/6] net: Scheduling softirqs between CPUSs
> Could we use something like this to reschedule NAPI onto other
> processors? If we get unlucky enough to have multiple napi routines
> polling on a single CPU, and one or more completely idle CPUs (idle at
> least for softirq) then we could really use one or the other of these
> solutions.
Jesse,
This patch does provide a general mechanism to schedule (or
reschedule) NAPI to other CPUs. We implemented two scheduling
algorithms: 1) round robin scheduling of NAPI poll function across a
set of CPUs on a per device basis 2) scheduling stack processing by
directing packets to a CPU (using backlog queue); a hash is done on
the 4-tuple to direct the packets for a connection to same CPU thus
emulating HW RSS (we will add support for those devices that can
provide the computed hash per packet).
An algorithm that reschedules NAPI based on load is possible. In the
case you described, maybe the scheduling could take into account the
number of devices in the poll list for the CPU.
Tom
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists