freebsd-dev/sys/conf
Adrian Chadd 9e2eaa64d7 Disable flow-director support until it's been debugged and verified.
The flowdirector feature shares on-chip memory with other things
such as the RX buffers.  In theory it should be configured in a way
that doesn't interfere with the rest of operation.  In practice,
the RX buffer calculation didn't take the flow-director allocation
into account and there'd be overlap.  This lead to various garbage
frames being received containing what looks like internal NIC state.

What _I_ saw was traffic ending up in the wrong RX queues.
If I was doing a UDP traffic test with only one NIC ring receiving
traffic, everything is fine.  If I fired up a second UDP stream
which came in on another ring, there'd be a few percent of traffic
from both rings ending up in the wrong ring.  Ie, the RSS hash would
indicate it was supposed to come in ring X, but it'd come in ring Y.

However, when the allocation was fixed up, the developers at Verisign
still saw traffic stalls.

The flowdirector feature ends up fiddling with the NIC to do various
attempts at load balancing connections by populating flow table rules
based on sampled traffic.  It's likely that all of that has to be
carefully reviewed and made less "magic".

So for now the flow director feature is disabled (which fixes both
what I was seeing and what they were seeing) until it's all much
more debugged and verified.

Tested:

* (me) 82599EB 2x10G NIC, RSS UDP testing.
* (verisign) not sure on the NIC (but likely 82599), 100k-200k/sec TCP
  transaction tests.

Submitted by:	Marc De La Gueronniere <mdelagueronniere@verisign.com>
MFC after:	1 week
Sponsored by:	Verisign, Inc.
2014-09-15 21:09:19 +00:00
..
files Disable flow-director support until it's been debugged and verified. 2014-09-15 21:09:19 +00:00
files.amd64 Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft, 2014-09-13 02:15:31 +00:00
files.arm Merge all MD sf_buf allocators into one MI, residing in kern/subr_sfbuf.c 2014-08-05 09:44:10 +00:00
files.i386 Import HyperV Key-Value Pair (KVP) driver and daemon code by Microsoft, 2014-09-13 02:15:31 +00:00
files.mips Merge all MD sf_buf allocators into one MI, residing in kern/subr_sfbuf.c 2014-08-05 09:44:10 +00:00
files.pc98 Merge the amd64 and i386 identcpu.c into a single x86 implementation. 2014-09-04 14:26:25 +00:00
files.powerpc Merge all MD sf_buf allocators into one MI, residing in kern/subr_sfbuf.c 2014-08-05 09:44:10 +00:00
files.sparc64 Add a simple unaccelerated vt(4) framebuffer driver for Sun framebuffers 2014-08-05 18:19:51 +00:00
kern.mk Disable all inline warnings on gcc >= 4.3. Not sure exactly where the 2014-08-14 16:01:46 +00:00
kern.opts.mk Remove dependence on source tree options. Move all kernel module 2014-08-11 14:50:49 +00:00
kern.post.mk Truncate the ctfmerge command line, like we do with SYSTEM_LD. 2014-08-12 23:48:37 +00:00
kern.pre.mk Reviewed by: imp 2014-07-26 04:38:09 +00:00
kmod_syms.awk
kmod.mk Move most of the 15 variations on generating opt_inet.h and 2014-08-04 22:37:02 +00:00
ldscript.amd64
ldscript.arm
ldscript.i386
ldscript.mips
ldscript.mips.cfe
ldscript.mips.mips64
ldscript.mips.octeon1
ldscript.powerpc
ldscript.powerpc64
ldscript.sparc64
Makefile.amd64
Makefile.arm Add support for FDT and !FDT configs on Atmel, though FDT isn't 2014-08-14 04:21:14 +00:00
Makefile.i386
Makefile.mips
Makefile.pc98
Makefile.powerpc
Makefile.sparc64
makeLINT.mk
makeLINT.sed
newvers.sh
NOTES The USB LED driver for the Dream Cheeky WebMail Notifier. 2014-09-05 11:25:58 +00:00
options Bring in the new automounter, similar to what's provided in most other 2014-08-17 09:44:42 +00:00
options.amd64 imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
options.arm Add an arm option, ARM_DEVICE_MULTIPASS, used to opt-in to multi-pass 2014-08-05 19:06:45 +00:00
options.i386 imagact_binmisc builds for all supported architectures, so enable it for all. 2014-05-22 05:04:40 +00:00
options.mips Introduce opt_netfpga.h and allow setting NF10BMAC_64BIT from mips kernel 2014-06-26 17:20:45 +00:00
options.pc98
options.powerpc
options.sparc64
systags.sh
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST
WITHOUT_SOURCELESS_UCODE