<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/modules/em, branch releng/11.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F11.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F11.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2015-06-09T14:31:18Z</updated>
<entry>
<title>Include opt_em.h now that there are actual kernel compile options for em(4).</title>
<updated>2015-06-09T14:31:18Z</updated>
<author>
<name>Sean Bruno</name>
<email>sbruno@FreeBSD.org</email>
</author>
<published>2015-06-09T14:31:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5296d0421ef486289f63f9b3fcafbcaa7b0ffb60'/>
<id>urn:sha1:5296d0421ef486289f63f9b3fcafbcaa7b0ffb60</id>
<content type='text'>
Submitted by:	jfv
MFC after:	2 week
Sponsored by:	Limelight Networks
</content>
</entry>
<entry>
<title>Change EM_MULTIQUEUE to a real kernconf entry and enable support for</title>
<updated>2015-06-03T18:01:09Z</updated>
<author>
<name>Sean Bruno</name>
<email>sbruno@FreeBSD.org</email>
</author>
<published>2015-06-03T18:01:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=23c9098b2a5ef222c90fd9f66be5de27fa19c0a2'/>
<id>urn:sha1:23c9098b2a5ef222c90fd9f66be5de27fa19c0a2</id>
<content type='text'>
up to 2 rx/tx queues for the 82574.

Program the 82574 to enable 5 msix vectors, assign 1 to each rx queue,
1 to each tx queue and 1 to the link handler.

Inspired by DragonFlyBSD, enable some RSS logic for handling tx queue
handling/processing.

Move multiqueue handler functions so that they line up better in a diff
review to if_igb.c

Always enqueue tx work to be done in em_mq_start, if unable to acquire
the TX lock, then this will be processed in the background later by the
taskqueue.  Remove mbuf argument from em_start_mq_locked() as the work
is always enqueued.  (stolen from igb)

Setup TARC, TXDCTL and RXDCTL registers for better performance and stability
in multiqueue and singlequeue implementations. Handle Intel errata  3 and
generic multiqueue behavior with the initialization of TARC(0) and TARC(1)

Bind interrupt threads to cpus in order.  (stolen from igb)

Add 2 new DDB functions, one to display the queue(s) and their settings and
one to reset the adapter.  Primarily used for debugging.

In the multiqueue configuration, bump RXD and TXD ring size to max for the
adapter (4096).  Setup an RDTR of 64 and an RADV of 128 in multiqueue configuration
to cut down on the number of interrupts.  RADV was arbitrarily set to 2x RDTR
and can be adjusted as needed.

Cleanup the display in top a bit to make it clearer where the taskqueue threads
are running and what they should be doing.

Ensure that both queues are processed by em_local_timer() by writing them both
to the IMS register to generate soft interrupts.

Ensure that an soft interrupt is generated when em_msix_link() is run so that
any races between assertion of the link/status interrupt and a rx/tx interrupt
are handled.

Document existing tuneables: hw.em.eee_setting, hw.em.msix, hw.em.smart_pwr_down, hw.em.sbp

Document use of hw.em.num_queues and the new kernel option EM_MULTIQUEUE

Thanks to Intel for their continued support of FreeBSD.

Reviewed by:	erj jfv hiren gnn wblock
Obtained from:	Intel Corporation
MFC after:	2 weeks
Relnotes:	Yes
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D1994
</content>
</entry>
<entry>
<title>Move most of the 15 variations on generating opt_inet.h and</title>
<updated>2014-08-04T22:37:02Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2014-08-04T22:37:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=aeaed508982227551b2748339033bb2483382b4d'/>
<id>urn:sha1:aeaed508982227551b2748339033bb2483382b4d</id>
<content type='text'>
opt_inet6.h into kmod.mk by forcing almost everybody to eat the same
dogfood. While at it, consolidate the opt_bpf.h and opt_mroute.h
targets here too.
</content>
</entry>
<entry>
<title>Use src.opts.mk in preference to bsd.own.mk except where we need stuff</title>
<updated>2014-05-06T04:22:01Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2014-05-06T04:22:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c6063d0da8e1f8d8452b0c2ee1c7ad718c1a7052'/>
<id>urn:sha1:c6063d0da8e1f8d8452b0c2ee1c7ad718c1a7052</id>
<content type='text'>
from the latter.
</content>
</entry>
<entry>
<title>Change the E1000 driver option header handling to match the</title>
<updated>2013-07-12T22:36:26Z</updated>
<author>
<name>Jack F Vogel</name>
<email>jfv@FreeBSD.org</email>
</author>
<published>2013-07-12T22:36:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a1db87ec73dd672c8255ec5495ee74706ba1a74c'/>
<id>urn:sha1:a1db87ec73dd672c8255ec5495ee74706ba1a74c</id>
<content type='text'>
ixgbe driver. As it was, when building them as a module INET
and INET6 are not defined. In these drivers it does not cause
a panic, however it does result in different behavior in the
ioctl routine when you are using a module vs static, and I
think the behavior should be the same.

MFC after: 3 days
</content>
</entry>
<entry>
<title>Add a source file needed for module linking.</title>
<updated>2012-07-06T20:14:27Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-07-06T20:14:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9775776ce27b85f5ce2b74177c8154ddee4887c7'/>
<id>urn:sha1:9775776ce27b85f5ce2b74177c8154ddee4887c7</id>
<content type='text'>
MFC after:   4 days
</content>
</entry>
<entry>
<title>Remove unnecessary clean target in em(4), igb(4) and ixgbe(4).</title>
<updated>2010-08-16T17:48:55Z</updated>
<author>
<name>Pyun YongHyeon</name>
<email>yongari@FreeBSD.org</email>
</author>
<published>2010-08-16T17:48:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9b1f97079c5255ef7ea87fa302faccaf93b4bd2a'/>
<id>urn:sha1:9b1f97079c5255ef7ea87fa302faccaf93b4bd2a</id>
<content type='text'>
While here also remove man target in igb(4).

Reviewed by:	jfv
</content>
</entry>
<entry>
<title>Add new source to the loadable em build, thought</title>
<updated>2010-07-01T21:03:30Z</updated>
<author>
<name>Jack F Vogel</name>
<email>jfv@FreeBSD.org</email>
</author>
<published>2010-07-01T21:03:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cb18cb4d7c7dc3f8cd49ec75495a8ed1d6607dbf'/>
<id>urn:sha1:cb18cb4d7c7dc3f8cd49ec75495a8ed1d6607dbf</id>
<content type='text'>
it wasnt needed but it is.
</content>
</entry>
<entry>
<title>Update to igb and em:</title>
<updated>2010-03-29T23:36:34Z</updated>
<author>
<name>Jack F Vogel</name>
<email>jfv@FreeBSD.org</email>
</author>
<published>2010-03-29T23:36:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8ec87fc5149977b627672979fb2e593310e8bbae'/>
<id>urn:sha1:8ec87fc5149977b627672979fb2e593310e8bbae</id>
<content type='text'>
em revision 7.0.0:
	- Using driver devclass, seperate legacy (pre-pcie) code
	  into a seperate source file. This will at least help
	  protect against regression issues. It compiles along
	  with em, and is transparent to end use, devices in each
	  appear to be 'emX'. When using em in a modular form this
	  also allows the legacy stuff to be defined out.
	- Add tx and rx rings as in igb, in the 82574 this becomes
	  actual multiqueue for the first time (2 queues) while in
	  other PCIE adapters its just make code cleaner.
	- Add RX mbuf handling logic that matches igb, this will
	  eliminate packet drops due to temporary mbuf shortage.

igb revision 1.9.3:
	- Following the ixgbe code, use a new approach in what
	  was called 'get_buf', the routine now has been made
	  independent of rxeof, it now does the update to the
	  engine TDT register, this design allows temporary
	  mbuf resources to become non-critical, not requiring
	  a packet to be discarded, instead it just returns and
	  does not increment the tail pointer.
	- With the above change it was also unnecessary to keep
	  'spare' maps around, since we do not have the discard
	  issue.
	- Performance tweaks and improvements to the code also.

MFC in a week
</content>
</entry>
<entry>
<title>Add opt_inet.h which has been needed since r184717 introducing</title>
<updated>2008-11-12T21:32:49Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2008-11-12T21:32:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4174a06b60e722e9defdcc4db9e6a73468615767'/>
<id>urn:sha1:4174a06b60e722e9defdcc4db9e6a73468615767</id>
<content type='text'>
checks for #ifdef INET.

MFC after:	54 days
</content>
</entry>
</feed>
