<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/mge, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2018-05-18T20:13:34Z</updated>
<entry>
<title>ifnet: Replace if_addr_lock rwlock with epoch + mutex</title>
<updated>2018-05-18T20:13:34Z</updated>
<author>
<name>Matt Macy</name>
<email>mmacy@FreeBSD.org</email>
</author>
<published>2018-05-18T20:13:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d7c5a620e2b99e914f1770abde956cf0d0a970b7'/>
<id>urn:sha1:d7c5a620e2b99e914f1770abde956cf0d0a970b7</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>sys/dev: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-20T19:36:21Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-20T19:36:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7282444b103e0b3e7c8cd053413ff6c068831cc6'/>
<id>urn:sha1:7282444b103e0b3e7c8cd053413ff6c068831cc6</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>sys/dev: minor spelling fixes.</title>
<updated>2016-05-03T03:41:25Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-05-03T03:41:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=453130d9bfc1c6d68b366dfcb041689d69f81295'/>
<id>urn:sha1:453130d9bfc1c6d68b366dfcb041689d69f81295</id>
<content type='text'>
Most affect comments, very few have user-visible effects.
</content>
</entry>
<entry>
<title>[mdio] migrate mdiobus out of etherswitch and into a top-level device of its own.</title>
<updated>2015-12-26T02:31:39Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2015-12-26T02:31:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=71e8eac4fd89dedbcb4130379add151d3ed942fa'/>
<id>urn:sha1:71e8eac4fd89dedbcb4130379add151d3ed942fa</id>
<content type='text'>
The mdio driver interface is generally useful for devices that require
MDIO without the full MII bus interface. This lifts the driver/interface
out of etherswitch(4), and adds a mdio(4) man page.

Submitted by:	Landon Fuller &lt;landon@landonf.org&gt;
Differential Revision:	https://reviews.freebsd.org/D4606
</content>
</entry>
<entry>
<title>Improve style in mge driver</title>
<updated>2015-10-25T22:20:13Z</updated>
<author>
<name>Zbigniew Bodek</name>
<email>zbb@FreeBSD.org</email>
</author>
<published>2015-10-25T22:20:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4ac30cc1e06f2c6d45a3321afdcbd5a6a8f13fc1'/>
<id>urn:sha1:4ac30cc1e06f2c6d45a3321afdcbd5a6a8f13fc1</id>
<content type='text'>
Minor improvements introduced to ensure code follows FreeBSD style
guidelines.

Reviewed by:    adrian
Obtained from:  Semihalf
Submitted by:   Bartosz Szczepanek &lt;bsz@semihalf.com&gt;
Differential revision: https://reviews.freebsd.org/D3904
</content>
</entry>
<entry>
<title>Change improper locking assertion in mge</title>
<updated>2015-10-25T22:17:10Z</updated>
<author>
<name>Zbigniew Bodek</name>
<email>zbb@FreeBSD.org</email>
</author>
<published>2015-10-25T22:17:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=446892110dd18e6e70e288cebcd032183a8117a6'/>
<id>urn:sha1:446892110dd18e6e70e288cebcd032183a8117a6</id>
<content type='text'>
Assertion used here was invalid. If current thread helds any of locks,
we never want to recurse on them.

Obtained from:  Semihalf
Submitted by:   Bartosz Szczepanek &lt;bsz@semihalf.com&gt;
Differential revision: https://reviews.freebsd.org/D3903
</content>
</entry>
<entry>
<title>Add etherswitch support to mge</title>
<updated>2015-10-25T22:00:56Z</updated>
<author>
<name>Zbigniew Bodek</name>
<email>zbb@FreeBSD.org</email>
</author>
<published>2015-10-25T22:00:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c71b84f0a3f45acf09b6604f543809c9844ee44'/>
<id>urn:sha1:3c71b84f0a3f45acf09b6604f543809c9844ee44</id>
<content type='text'>
This commit introduces support for etherswitch devices that utilize SMI as
a way of accessing its registers. SMI register is located in address space
of mge -- access to it was exported through MDIO interface.

Attachment functions were enhanced so as to ensure proper initialisation
in both cases: 1) PHYs attached directly to mge, 2) PHYs attached to
switch device and switch attached to mge. Attachment of etherswitch device
depends on dts entry with compatible="mrvl,sw" property. If none is found,
typical PHY attachment procedure follows.

In case of switch attached, PHYs' status and configuration is accessible
via etherswitchcfg, and ifconfig shows always-up, non-configurable mge
interfaces.

Due to the fact that there may be simultaneous accessess to SMI
registers (e.g. from PHY attached to one of mge instances and switch
to the other), SMI access interlock was added. It is SX lock,
because sleep ability is necessary -- busy-waiting would result
in poor performance due to long delays required by hardware.
Underlying switch driver is obliged to use sleepable locks as well.

Reviewed by:    adrian
Obtained from:  Semihalf
Submitted by:   Bartosz Szczepanek &lt;bsz@semihalf.com&gt;
Differential revision: https://reviews.freebsd.org/D3900
</content>
</entry>
<entry>
<title>Mechanically convert to if_inc_counter().</title>
<updated>2014-09-19T03:51:26Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2014-09-19T03:51:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c8dfaf382fa6df9dc6fd1e1c3356e0c8bf607e6a'/>
<id>urn:sha1:c8dfaf382fa6df9dc6fd1e1c3356e0c8bf607e6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optim and Fix for mge driver:</title>
<updated>2014-07-07T08:22:39Z</updated>
<author>
<name>Fabien Thomas</name>
<email>fabient@FreeBSD.org</email>
</author>
<published>2014-07-07T08:22:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b8fad6c0ef9355d1dda96fa382708b0cf68d27ef'/>
<id>urn:sha1:b8fad6c0ef9355d1dda96fa382708b0cf68d27ef</id>
<content type='text'>
- add missing rcvif in mbuf
- add missing ipacket stat
- remove uncessary mbuf copy on output path
- fix deadlock of the TX engine in case of error

Obtained from:	NETASQ
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Follow r261352 by updating all drivers which are children of simplebus</title>
<updated>2014-02-02T19:17:28Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2014-02-02T19:17:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=add35ed5b81bd56b4e0f1f9db0636b785cc0c8d1'/>
<id>urn:sha1:add35ed5b81bd56b4e0f1f9db0636b785cc0c8d1</id>
<content type='text'>
to check the status property in their probe routines.

Simplebus used to only instantiate its children whose status="okay"
but that was improper behavior, fixed in r261352.  Now that it doesn't
check anymore and probes all its children; the children all have to
do the check because really only the children know how to properly
interpret their status property strings.

Right now all existing drivers only understand "okay" versus something-
that's-not-okay, so they all use the new ofw_bus_status_okay() helper.
</content>
</entry>
</feed>
