Matt Macy
d7c5a620e2
ifnet: Replace if_addr_lock rwlock with epoch + mutex
...
Run on LLNW canaries and tested by pho@
gallatin:
Using a 14-core, 28-HTT single socket E5-2697 v3 with a 40GbE MLX5
based ConnectX 4-LX NIC, I see an almost 12% improvement in received
packet rate, and a larger improvement in bytes delivered all the way
to userspace.
When the host receiving 64 streams of netperf -H $DUT -t UDP_STREAM -- -m 1,
I see, using nstat -I mce0 1 before the patch:
InMpps OMpps InGbs OGbs err TCP Est %CPU syscalls csw irq GBfree
4.98 0.00 4.42 0.00 4235592 33 83.80 4720653 2149771 1235 247.32
4.73 0.00 4.20 0.00 4025260 33 82.99 4724900 2139833 1204 247.32
4.72 0.00 4.20 0.00 4035252 33 82.14 4719162 2132023 1264 247.32
4.71 0.00 4.21 0.00 4073206 33 83.68 4744973 2123317 1347 247.32
4.72 0.00 4.21 0.00 4061118 33 80.82 4713615 2188091 1490 247.32
4.72 0.00 4.21 0.00 4051675 33 85.29 4727399 2109011 1205 247.32
4.73 0.00 4.21 0.00 4039056 33 84.65 4724735 2102603 1053 247.32
After the patch
InMpps OMpps InGbs OGbs err TCP Est %CPU syscalls csw irq GBfree
5.43 0.00 4.20 0.00 3313143 33 84.96 5434214 1900162 2656 245.51
5.43 0.00 4.20 0.00 3308527 33 85.24 5439695 1809382 2521 245.51
5.42 0.00 4.19 0.00 3316778 33 87.54 5416028 1805835 2256 245.51
5.42 0.00 4.19 0.00 3317673 33 90.44 5426044 1763056 2332 245.51
5.42 0.00 4.19 0.00 3314839 33 88.11 5435732 1792218 2499 245.52
5.44 0.00 4.19 0.00 3293228 33 91.84 5426301 1668597 2121 245.52
Similarly, netperf reports 230Mb/s before the patch, and 270Mb/s after the patch
Reviewed by: gallatin
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15366
2018-05-18 20:13:34 +00:00
Pedro F. Giffuni
7282444b10
sys/dev: further adoption of SPDX licensing ID tags.
...
Mainly focus on files that use BSD 3-Clause license.
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
2017-11-20 19:36:21 +00:00
Josh Paetzel
c2625e6e38
Update oce to version 11.0.50.0
...
Submitted by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
2016-09-22 22:51:11 +00:00
Conrad Meyer
14410265b6
Revert r306148 to fix build
...
Requested by: jpaetzel
Reported by: Larry Rosenman <ler at lerctr.org>, Jenkins
2016-09-22 00:25:23 +00:00
Josh Paetzel
764c812d84
Update oce driver to 11.0.50.0
...
Submitted by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
2016-09-21 22:53:16 +00:00
Justin Hibbits
c47476d7e6
Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere().
...
Most calls to bus_alloc_resource() use "anywhere" as the range, with a given
count. Migrate these to use the new bus_alloc_resource_anywhere() API.
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D5370
2016-02-27 03:38:01 +00:00
Xin LI
a4f734b4fc
Apply vendor fixes for big endian support and 20GBps/25GBps link speeds.
...
Many thanks to Emulex for their continued support of FreeBSD!
Submitted by: Venkata Duvvuru <VenkatKumar.Duvvuru Emulex.Com>
MFC after: 3 days
2014-06-24 20:11:22 +00:00
Xin LI
5fbb683079
Update driver to version 10.0.664.0.
...
Many thanks to Emulex for their continued support of FreeBSD.
Submitted by: Venkata Duvvuru <VenkatKumar.Duvvuru Emulex Com>
MFC after: 3 day
2013-10-23 18:58:38 +00:00
Xin LI
291a1934fa
Update driver with recent vendor improvements, most notably support
...
of Skyhawk adapters.
Many thanks to Emulex for their continued support of FreeBSD.
Submitted by: "Duvvuru,Venkat Kumar" <VenkatKumar.Duvvuru Emulex.Com>
MFC after: 1 day
2013-07-06 08:30:45 +00:00
Xin LI
cdaba8920e
Update driver to version 4.6.95.0.
...
Submitted by: "Duvvuru,Venkat Kumar" <VenkatKumar.Duvvuru Emulex.Com>
MFC after: 3 days
2013-03-06 09:53:38 +00:00
John Baldwin
cda6c6abf9
Use pci_find_cap() instead of pci_find_extcap() to locate PCI
...
find capabilities as the latter API is deprecated for this purpose.
MFC after: 2 weeks
2012-03-03 18:03:50 +00:00
Luigi Rizzo
9bd3250a02
Patches from Naresh Raju Gottumukkala
...
- Feature: UMC - Universal Multi Channel support
- Bugfix: BE3 Firmware Flashing bug.
- Code improvements:
- Removed duplicate switch cases in the oce_ioctl routine.
- Made changes to mcc_async notifications routine(oce_mq_handler)
MFC after: 1 week
2012-02-17 13:55:17 +00:00
John Baldwin
0187124bee
Use if_maddr_*lock() routines to lock the per-interface multicast
...
address list rather than manipulating the lock directly.
2012-02-13 19:35:35 +00:00
Bjoern A. Zeeb
c3ed30eb19
Make use of the read-only variant of the IF_ADDR_*LOCK() macros introduced
...
in r229614 rather than the compat one.
2012-02-11 07:43:33 +00:00
Luigi Rizzo
2f345d8ed5
Add a driver for Emulex OneConnect ethernet cards (10 Gbit PCIe)
...
A manpage will come in a future commit.
Submitted by: Naresh Raju Gottumukkala (emulex)
2012-02-10 21:03:04 +00:00