<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/oce, 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>2014-06-30T16:16:35Z</updated>
<entry>
<title>MFS r267944 (MFC r258941,267839):</title>
<updated>2014-06-30T16:16:35Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2014-06-30T16:16:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7de120e818fe490036222aa1fd424d1c9d3e6b5b'/>
<id>urn:sha1:7de120e818fe490036222aa1fd424d1c9d3e6b5b</id>
<content type='text'>
Apply vendor improvements to oce(4) driver:

 - Add support to 20Gbps, 25Gbps, 40Gbps devices;
 - Add support to control adaptive interrupt coalescing (AIC)
   via sysctl;
 - Improve support of BE3 devices;
 - Big endian support fixes;

Many thanks to Emulex for their continued support of FreeBSD.

Submitted by:	Venkata Duvvuru &lt;VenkatKumar.Duvvuru Emulex.Com&gt;
Approved by:	re (gjb)
</content>
</entry>
<entry>
<title>MFC r260110:</title>
<updated>2014-01-13T19:42:37Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2014-01-13T19:42:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a8c600d648e73eeee3db1447c3c2e177bfde6555'/>
<id>urn:sha1:a8c600d648e73eeee3db1447c3c2e177bfde6555</id>
<content type='text'>
Eliminate unused drbr_stats_update implementation in oce(4) driver.

Noticed by:	dim
</content>
</entry>
<entry>
<title>MFC r257007,258140:</title>
<updated>2013-11-25T20:05:23Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-11-25T20:05:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b5eee6961d784591248d2245697e41b910f548fa'/>
<id>urn:sha1:b5eee6961d784591248d2245697e41b910f548fa</id>
<content type='text'>
Update driver to version 10.0.664.0.

Many thanks to Emulex for their continued support of FreeBSD.

Submitted by:	Venkata Duvvuru &lt;VenkatKumar.Duvvuru Emulex Com&gt;
</content>
</entry>
<entry>
<title>MFC r246482 (rrs) + r246581:</title>
<updated>2013-11-25T20:01:34Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-11-25T20:01:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46e56fc3c499ff995c0e694e3bc01a67bfa502ac'/>
<id>urn:sha1:46e56fc3c499ff995c0e694e3bc01a67bfa502ac</id>
<content type='text'>
This fixes a out-of-order problem with several of the newer
drivers. The basic problem was that the driver was pulling
the mbuf off the drbr ring and then when sending with xmit(),
encounting a full transmit ring. Thus the lower layer xmit()
function would return an error, and the drivers would then
append the data back on to the ring.  For TCP this is a
horrible scenario sure to bring on a fast-retransmit.

The fix is to use drbr_peek() to pull the data pointer but
not remove it from the ring. If it fails then we either call
the new drbr_putback or drbr_advance method. Advance moves
it forward (we do this sometimes when the xmit() function
frees the mbuf). When we succeed we always call advance.
The putback will always copy the mbuf back to the top of the
ring. Note that the putback *cannot* be used with a
drbr_dequeue() only with drbr_peek(). We most of the time,
in putback, would not need to copy it back since most likey
the mbuf is still the same, but sometimes xmit() functions
will change the mbuf via a pullup or other call. So the
optimial case for the single consumer is to always copy it
back.  If we ever do a multiple_consumer (for lagg?) we
will need a test and atomic in the put back possibly a
seperate putback_mc() in the ring buf.

Reviewed by:	jhb@freebsd.org, jlv@freebsd.org
</content>
</entry>
<entry>
<title>MFC r252869:</title>
<updated>2013-07-06T23:56:58Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-07-06T23:56:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1366fc2e94991c42d39d2013578b209cd6359fb1'/>
<id>urn:sha1:1366fc2e94991c42d39d2013578b209cd6359fb1</id>
<content type='text'>
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" &lt;VenkatKumar.Duvvuru Emulex.Com&gt;
</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 r231879,246799,247880,248059:</title>
<updated>2013-03-08T18:46:21Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2013-03-08T18:46:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d18a17db049e27d0a4af769c972400a422ce7235'/>
<id>urn:sha1:d18a17db049e27d0a4af769c972400a422ce7235</id>
<content type='text'>
Update driver to version 4.6.95.0.

Submitted by:	"Duvvuru,Venkat Kumar" &lt;VenkatKumar.Duvvuru Emulex.Com&gt;
</content>
</entry>
<entry>
<title>MFC 246799:</title>
<updated>2013-03-01T20:33:35Z</updated>
<author>
<name>Josh Paetzel</name>
<email>jpaetzel@FreeBSD.org</email>
</author>
<published>2013-03-01T20:33:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=18c5a922d45b427729c8c69bb32490530b83b302'/>
<id>urn:sha1:18c5a922d45b427729c8c69bb32490530b83b302</id>
<content type='text'>
Resolve issue that caused WITNESS to report LORs.
</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 r241844:</title>
<updated>2012-11-04T01:21:49Z</updated>
<author>
<name>Eitan Adler</name>
<email>eadler@FreeBSD.org</email>
</author>
<published>2012-11-04T01:21:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=de26c73155eff0146cfaad45fa78275ccf8abada'/>
<id>urn:sha1:de26c73155eff0146cfaad45fa78275ccf8abada</id>
<content type='text'>
	remove duplicate semicolons where possible.

Approved by:	cperciva (implicit)
</content>
</entry>
</feed>
