svn commit: r265792 - head/sys/kern
adrian at freebsd.org
Sun May 11 15:32:36 UTC 2014
On 11 May 2014 01:31, Slawa Olhovchenkov <slw at zxy.spb.ru> wrote:
> On Sat, May 10, 2014 at 12:53:37AM +0000, Adrian Chadd wrote:
>> Author: adrian
>> Date: Sat May 10 00:53:36 2014
>> New Revision: 265792
>> URL: http://svnweb.freebsd.org/changeset/base/265792
>> Add in support to optionally pin the swi threads.
>> Under enough load, the swi's can actually be preempted and migrated
>> to other currently free cores. When doing RSS experiments, this lead
>> to the per-CPU TCP timers not lining up any more with the RX CPU said
>> flows were ending up on, leading to increased lock contention.
>> Since there was a little pushback on flipping them on by default,
>> I've left the default at "don't pin."
>> The other less obvious problem here is that the default swi
>> is also the same as the destination swi for CPU #0. So if one
>> pins the swi on CPU #0, there's no default floating swi.
>> A nice future project would be to create a separate swi for
>> the "default" floating swi, as well as per-CPU swis that are
>> (optionally) pinned.
> MFC planed?
> I have 10.0 box with aprox. 16Gbit TCP at peak.
I've no plans to MFC it at the present.
By itself it shouldn't do very much. The rest of RSS stack and driver
changes have to go in before it'll matter.
(But if you try it on 10.0 and it changes things, by all means let me know.)
More information about the svn-src-head