<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/net/netmap_user.h, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-08-21T19:42:03Z</updated>
<entry>
<title>Update a couple of header files that were missed in r270252.  This is a</title>
<updated>2014-08-21T19:42:03Z</updated>
<author>
<name>Navdeep Parhar</name>
<email>np@FreeBSD.org</email>
</author>
<published>2014-08-21T19:42:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ad862de5c40211aa00f0949e50302d5432229f2c'/>
<id>urn:sha1:ad862de5c40211aa00f0949e50302d5432229f2c</id>
<content type='text'>
direct commit to stable/10.

Submitted by:	luigi
</content>
</entry>
<entry>
<title>MFC 267168:</title>
<updated>2014-06-09T15:16:17Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2014-06-09T15:16:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=920c9617032c11af6405f8f250b1b61bd9f562ad'/>
<id>urn:sha1:920c9617032c11af6405f8f250b1b61bd9f562ad</id>
<content type='text'>
misc bugfixes:
- stdio.h is needed for fprint()
- make memsize uint32_t to avoid errors due to overflow
- honor the *XPOLL flagg in NIOCREGIF requests
- mmap fails wit MAP_FAILED, not NULL.
</content>
</entry>
<entry>
<title>MFH: sync the netmap code with the one in HEAD</title>
<updated>2014-02-18T05:01:04Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2014-02-18T05:01:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2d47b4a1972fddbb8a4c9e26afbf09e373c6ba19'/>
<id>urn:sha1:2d47b4a1972fddbb8a4c9e26afbf09e373c6ba19</id>
<content type='text'>
(enhanced VALE switch, netmap pipes, emulated netmap mode).
See details in the log for svn 261909.
</content>
</entry>
<entry>
<title>clarify usage of NETMAP_BUF</title>
<updated>2013-05-30T13:41:19Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-05-30T13:41:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=27892e02fb2b7cf237c01cf6b654223a436fde63'/>
<id>urn:sha1:27892e02fb2b7cf237c01cf6b654223a436fde63</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove $Id$ (whitespace change)</title>
<updated>2013-04-30T16:00:21Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2013-04-30T16:00:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c10b5796c06d74c7c907cf20c88c5ff433573607'/>
<id>urn:sha1:c10b5796c06d74c7c907cf20c88c5ff433573607</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cast through void * to silence compiler warning</title>
<updated>2012-10-03T21:41:20Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2012-10-03T21:41:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=104d9fc77678c899a26ed33e30e23a79386caeb5'/>
<id>urn:sha1:104d9fc77678c899a26ed33e30e23a79386caeb5</id>
<content type='text'>
The base netmap pointer and offsets involved are provided by the kernel
side of the netmap interface and will have appropriate alignment.

Sponsored by: ADARA Networks
MFC After: 2 weeks
</content>
</entry>
<entry>
<title>A bit of cleanup in the names of fields of netmap-related structures.</title>
<updated>2012-04-13T16:03:07Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-04-13T16:03:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d76bf4ff7b9b7bcecd295403d2663218bb646dab'/>
<id>urn:sha1:d76bf4ff7b9b7bcecd295403d2663218bb646dab</id>
<content type='text'>
Use the name 'ring' instead of 'queue' in all fields.
Bump NETMAP_API.
</content>
</entry>
<entry>
<title>- remove an extra parenthesis in a closing brace;</title>
<updated>2012-03-11T17:35:12Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-03-11T17:35:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a72505824cd9006454e4000ddac7f455242ff50d'/>
<id>urn:sha1:a72505824cd9006454e4000ddac7f455242ff50d</id>
<content type='text'>
- add the macro NETMAP_RING_FIRST_RESERVED() which returns
  the index of the first non-released buffer in the ring
  (this is useful for code that retains buffers for some time
  instead of processing them immediately)
</content>
</entry>
<entry>
<title>A bunch of netmap fixes:</title>
<updated>2012-02-27T19:05:01Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-27T19:05:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=64ae02c36579bad7d5e682589a0bc1023e359f9d'/>
<id>urn:sha1:64ae02c36579bad7d5e682589a0bc1023e359f9d</id>
<content type='text'>
USERSPACE:
1. add support for devices with different number of rx and tx queues;

2. add better support for zero-copy operation, adding an extra field
   to the netmap ring to indicate how many buffers we have already processed
   but not yet released (with help from Eddie Kohler);

3. The two changes above unfortunately require an API change, so while
   at it add a version field and some spares to the ioctl() argument
   to help detect mismatches.

4. update the manual page for the two changes above;

5. update sample applications in tools/tools/netmap

KERNEL:

1. simplify the internal structures moving the global wait queues
   to the 'struct netmap_adapter';

2. simplify the functions that map kring&lt;-&gt;nic ring indexes

3. normalize device-specific code, helps mainteinance;

4. start exploring the impact of micro-optimizations (prefetch etc.)
   in the ixgbe driver.
   Use 'legacy' descriptors on the tx ring and prefetch slots gives
   about 20% speedup at 900 MHz. Another 7-10% would come from removing
   the explict calls to bus_dmamap* in the core (they are effectively
   NOPs in this case, but it takes expensive load of the per-buffer
   dma maps to figure out that they are all NULL.

   Rx performance not investigated.

I am postponing the MFC so i can import a few more improvements
before merging.
</content>
</entry>
<entry>
<title>- change the buffer size from a constant to a</title>
<updated>2012-02-08T11:43:29Z</updated>
<author>
<name>Luigi Rizzo</name>
<email>luigi@FreeBSD.org</email>
</author>
<published>2012-02-08T11:43:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5819da83cec5fdb1d77956b2e7726525bf1245ea'/>
<id>urn:sha1:5819da83cec5fdb1d77956b2e7726525bf1245ea</id>
<content type='text'>
  TUNABLE variable (hw.netmap.buf_size) so we can experiment
  with values different from 2048 which may give better cache performance.

- rearrange the memory allocation code so it will be easier
  to replace it with a different implementation. The current code
  relies on a single large contiguous chunk of memory obtained through
  contigmalloc.
  The new implementation (not committed yet) uses multiple
  smaller chunks which are easier to fit in a fragmented address
  space.
</content>
</entry>
</feed>
