<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/mxge, branch release/9.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F9.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F9.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2013-08-13T22:05:50Z</updated>
<entry>
<title>Merge r254263:</title>
<updated>2013-08-13T22:05:50Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2013-08-13T22:05:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cffe159b0e61cee6bce082f4bd05a4f06a1d53a9'/>
<id>urn:sha1:cffe159b0e61cee6bce082f4bd05a4f06a1d53a9</id>
<content type='text'>
Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI
command register.  The lazy BAR allocation code in FreeBSD sometimes
disables this bit when it detects a range conflict, and will re-enable
it on demand when a driver allocates the BAR.  Thus, the bit is no longer
a reliable indication of capability, and should not be checked.  This
results in the elimination of a lot of code from drivers, and also gives
the opportunity to simplify a lot of drivers to use a helper API to set
the busmaster enable bit.

This changes fixes some recent reports of disk controllers and their
associated drives/enclosures disappearing during boot.

Candidate for 9.2

Submitted by:	jhb
Reviewed by:	jfv, marius, adrian, achim
</content>
</entry>
<entry>
<title>MFC: r243857 (partial)</title>
<updated>2013-03-09T00:39:54Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2013-03-09T00:39:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=03abd02e1efa33cbb430b395dfdf238e8f3a5f60'/>
<id>urn:sha1:03abd02e1efa33cbb430b395dfdf238e8f3a5f60</id>
<content type='text'>
Mechanically substitute flags from historic mbuf allocator with
malloc(9) flags in sys/dev.
</content>
</entry>
<entry>
<title>MFC r247268:</title>
<updated>2013-03-05T16:37:20Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2013-03-05T16:37:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b38febd8499ddb8c70d99d32f549b5b0a395a536'/>
<id>urn:sha1:b38febd8499ddb8c70d99d32f549b5b0a395a536</id>
<content type='text'>
 Several cleanups and fixes to mxge:

 - Remove vestigial null pointer tests after malloc(..., M_WAITOK).

 - Remove vestigal qualhack union

 - Use strlcpy() instead of the error-prone strncpy() when parsing
   EEPROM and copying strings

 - Check the MAC address in the EEPROM strings more strictly.

 - Expand the macro MXGE_NEXT_STRING() at its only user. Due to a typo,
   the macro was very confusing.

 - Remove unnecessary buffer limit check.  The buffer is double-NUL
   terminated per construction.

PR:             kern/176369
Submitted by:   Christoph Mallon &lt;christoph.mallon gmx.de&gt;
</content>
</entry>
<entry>
<title>MFC r247160</title>
<updated>2013-03-04T15:32:38Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2013-03-04T15:32:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ee53996bc208fb43b39584d98f1a493d2ddca08a'/>
<id>urn:sha1:ee53996bc208fb43b39584d98f1a493d2ddca08a</id>
<content type='text'>
  Bump mxge copyright.
</content>
</entry>
<entry>
<title>MFC r247159</title>
<updated>2013-03-04T15:30:38Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2013-03-04T15:30:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=09c9da50ad46e05ccddff705ea5ec702dc377f6c'/>
<id>urn:sha1:09c9da50ad46e05ccddff705ea5ec702dc377f6c</id>
<content type='text'>
  Improvements for newer mxge nics:

  - Some mxge nics may store the serial number in the SN2 field of the
    EEPROM.  These will also have an SN=0 field, so parse the SN2 field,
    and give it precedence.

  - Skip MXGEFW_CMD_UNALIGNED_TEST on mxge nics which do not require it.
    This saves roughly 10ms per port at device attach time.
</content>
</entry>
<entry>
<title>MFC r247133 and associated fixes (r247151, r247152):</title>
<updated>2013-02-28T16:38:28Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2013-02-28T16:38:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=301762ee1a935dc603031dac6f6674ee23852b99'/>
<id>urn:sha1:301762ee1a935dc603031dac6f6674ee23852b99</id>
<content type='text'>
r247133:
  Improve mxge's receive performance for IPv6:

  - Add support for IPv6 rx csum offload
  - Finally switch mxge from using its own driver lro, to
  	using tcp_lro

r247151:
  Fix build.

r247152:
  Try harder to make mxge safe for all combinations of INET and INET6

  - Re-fix build by restoring local removed in r247151, but protected
    by #if defined(INET) || defined(INET6) so that the compile
    succeeds in the !(INET||INET6) case.

  - Protect call to in_pseudo() with an #ifdef INET, to allow
    a kernel to link with mxge when INET is not compiled in.

  - Also remove an errant (improperly commented) obsolete debugging printf
</content>
</entry>
<entry>
<title>Fix the build.</title>
<updated>2013-02-27T00:14:12Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2013-02-27T00:14:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=18b4571b8d1b727499494f7f1ee5c67098cbfbb6'/>
<id>urn:sha1:18b4571b8d1b727499494f7f1ee5c67098cbfbb6</id>
<content type='text'>
Back out mis-guided compat shim that should not have been MFC'ed
</content>
</entry>
<entry>
<title>MFC r247011:</title>
<updated>2013-02-26T15:51:46Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2013-02-26T15:51:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b8e6c9630e36f3c9014e4f5371644aac0ab80d95'/>
<id>urn:sha1:b8e6c9630e36f3c9014e4f5371644aac0ab80d95</id>
<content type='text'>
Add support to mxge for IPv6 TX csum offload &amp; IPv6 TSO.

Sponsored by: Myricom, Inc.
</content>
</entry>
<entry>
<title>Merge r241037 from head:</title>
<updated>2012-11-23T11:19:43Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2012-11-23T11:19:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3e29cda0982706112e7eb8582d03305ff9fdd437'/>
<id>urn:sha1:3e29cda0982706112e7eb8582d03305ff9fdd437</id>
<content type='text'>
  The drbr(9) API appeared to be so unclear, that most drivers in
  tree used it incorrectly, which lead to inaccurate overrated
  if_obytes accounting. The drbr(9) used to update ifnet stats on
  drbr_enqueue(), which is not accurate since enqueuing doesn't
  imply successful processing by driver. Dequeuing neither mean
  that. Most drivers also called drbr_stats_update() which did
  accounting again, leading to doubled if_obytes statistics. And
  in case of severe transmitting, when a packet could be several
  times enqueued and dequeued it could have been accounted several
  times.

  o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between
    ALTQ queueing or buf_ring(9) queueing.
    - It doesn't touch the buf_ring stats any more.
    - It doesn't touch ifnet stats anymore.
    - drbr_stats_update() no longer exists.

  o buf_ring(9) handles its stats itself:
    - It handles br_drops itself.
    - br_prod_bytes stats are dropped. Rationale: no one ever
      reads them but update of a common counter on every packet
      negatively affects performance due to excessive cache
      invalidation.
    - buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since
      we no longer account bytes.

  o Drivers handle their stats theirselves: if_obytes, if_omcasts.

  o mlx4(4), igb(4), em(4), vxge(4), oce(4) and  ixv(4) no longer
    use drbr_stats_update(), and update ifnet stats theirselves.

  o bxe(4) was the most correct driver, it didn't call
    drbr_stats_update(), thus it was the only driver accurate under
    moderate load. Now it also maintains stats itself.

  o ixgbe(4) had already taken stats from hardware, so just
    - drop software stats updating.
    - take multicast packet count from hardware as well.

  o mxge(4) just no longer needs NO_SLOW_STATS define.

  o cxgb(4), cxgbe(4) need no change, since they obtain stats
    from hardware.

  Reviewed by:  jfv, gnn
</content>
</entry>
<entry>
<title>MFC 236212:</title>
<updated>2012-06-01T18:16:10Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2012-06-01T18:16:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fe910b38e9aaf57142649b390506575c5c077ab1'/>
<id>urn:sha1:fe910b38e9aaf57142649b390506575c5c077ab1</id>
<content type='text'>
  Update mxge(4) firmware to the latest version available from
  Myricom (1.4.55).

  Sponored by: Myricom, Inc.
</content>
</entry>
</feed>
