[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080312151051.GI26963@solarflare.com>
Date: Wed, 12 Mar 2008 15:10:52 +0000
From: Ben Hutchings <bhutchings@...arflare.com>
To: Tom Herbert <therbert@...gle.com>
Cc: "Brandeburg, Jesse" <jesse.brandeburg@...el.com>,
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
Tom Herbert wrote:
> > Recent versions of Windows that are aware of RSS will instruct network
> > drivers to update their RSS indirection tables so that received
> > packets are handled on the same CPU as the thread likely to use the
> > received data. This requires that the network stack knows the hash
> > function, so Microsoft specified a "Toeplitz hash" for IPv4 and IPv6.
> > You can expect that most hardware RSS implementations will use this
> > function and not a simple XOR.
> >
>
> Thanks. I am planning to do the Toeplitz hash in the softRSS. Also,
> I was planning to add support for devices that provide the Toeplitz
> hash but don't do full RSS.
>
> One nice feature about Microsoft RSS seems to be the ability for the
> stack to dynamically re-balance networking load of a device using
> an indirection table that is set up in the device. I was wondering if
> this is supported in Linux stack or if anyone is working on that?
It's not supported, but it's on David Miller's to-do list[1].
By the way, Microsoft suddenly decided that RSS is too problematic to
enable by default[2] because software and hardware can disagree about
hash values in the presence of some local NAT implementations.
Hopefully we can avoid that particular pitfall in Linux.
Ben.
1. http://vger.kernel.org/~davem/net_todo.html
2. http://support.microsoft.com/kb/948496
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
--
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