<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/netmap/netmap_kloop.c, branch release/12.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>http://cgit.freebsd.org/src/atom?h=release%2F12.2.0</id>
<link rel='self' href='http://cgit.freebsd.org/src/atom?h=release%2F12.2.0'/>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<updated>2019-09-15T14:26:19Z</updated>
<entry>
<title>MFC r351657</title>
<updated>2019-09-15T14:26:19Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2019-09-15T14:26:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3ca5cfaae880ab54469719c3c9fb224e75ac5005'/>
<id>urn:sha1:3ca5cfaae880ab54469719c3c9fb224e75ac5005</id>
<content type='text'>
netmap: import changes from upstream (SHA 137f537eae513)

 - Rework option processing.
 - Use larger integers for memory size values in the
   memory management code.
</content>
</entry>
<entry>
<title>MFC r343689</title>
<updated>2019-02-07T10:44:03Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2019-02-07T10:44:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fdde8f329714ba111f495e1c3754bb157d41c8a9'/>
<id>urn:sha1:fdde8f329714ba111f495e1c3754bb157d41c8a9</id>
<content type='text'>
netmap: upgrade sync-kloop support

Add SYNC_KLOOP_MODE option, and add support for direct mode, where application
executes the TXSYNC and RXSYNC in the context of the ioeventfd wake up callback.
</content>
</entry>
<entry>
<title>MFC r343549</title>
<updated>2019-02-06T09:59:20Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2019-02-06T09:59:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e2e0ef76356f07d4b477b30a87697134b8ad0fd1'/>
<id>urn:sha1:e2e0ef76356f07d4b477b30a87697134b8ad0fd1</id>
<content type='text'>
netmap: add notifications on kloop stop

On sync-kloop stop, send a wake-up signal to the kloop, so that
waiting for the timeout is not needed.
Also, improve logging in netmap_freebsd.c.
</content>
</entry>
<entry>
<title>MFC r343346</title>
<updated>2019-02-06T09:23:39Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2019-02-06T09:23:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=93b1d6a0718beee11a62a7594cdaf637f8daffa9'/>
<id>urn:sha1:93b1d6a0718beee11a62a7594cdaf637f8daffa9</id>
<content type='text'>
netmap: improvements to the netmap kloop (CSB mode)

Changelist:
    - Add the proper memory barriers in the kloop ring processing
      functions.
    - Fix memory barriers usage in the user helpers (nm_sync_kloop_appl_write,
      nm_sync_kloop_appl_read).
    - Fix nm_kr_txempty() helper to look at rhead rather than rcur. This
      is important since the kloop can read a value of rcur which is ahead
      of the value of rhead (see explanation in nm_sync_kloop_appl_write)
    - Remove obsolete ptnetmap_guest_write_kring_csb() and
      ptnet_guest_read_kring_csb(), and update if_ptnet(4) to use those.
    - Prepare in advance the arguments for netmap_sync_kloop_[tr]x_ring(),
      to make the kloop faster.
    - Provide kernel and user implementation for nm_ldld_barrier() and
      nm_ldst_barrier()
</content>
</entry>
<entry>
<title>MFC r341992</title>
<updated>2018-12-15T18:05:05Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2018-12-15T18:05:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=639c36f03d8481f306c47ff457b06eb41be407af'/>
<id>urn:sha1:639c36f03d8481f306c47ff457b06eb41be407af</id>
<content type='text'>
netmap: fix warning in netmap_kloop.c

Reported by:    markj
</content>
</entry>
<entry>
<title>MFC r341516, r341589</title>
<updated>2018-12-11T11:31:13Z</updated>
<author>
<name>Vincenzo Maffione</name>
<email>vmaffione@FreeBSD.org</email>
</author>
<published>2018-12-11T11:31:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b321acab165f6ab6e821be03895eb40e5bff6fe7'/>
<id>urn:sha1:b321acab165f6ab6e821be03895eb40e5bff6fe7</id>
<content type='text'>
netmap: align codebase to the current upstream (760279cfb2730a585)

Changelist:
  - Replace netmap passthrough host support with a more general
    mechanism to call TXSYNC/RXSYNC from an in-kernel event-loop.
    No kernel threads are used to use this feature: the application
    is required to spawn a thread (or a process) and issue a
    SYNC_KLOOP_START (NIOCCTRL) command in the thread body. The
    kernel loop is executed by the ioctl implementation, which returns
    to userspace only when a different thread calls SYNC_KLOOP_STOP
    or the netmap file descriptor is closed.
  - Update the if_ptnet driver to cope with the new data structures,
    and prune all the obsolete ptnetmap code.
  - Add support for "null" netmap ports, useful to allocate netmap_if,
    netmap_ring and netmap buffers to be used by specialized applications
    (e.g. hypervisors). TXSYNC/RXSYNC on these ports have no effect.
  - Various fixes and code refactoring.

Sponsored by:	Sunny Valley Networks
Differential Revision:	https://reviews.freebsd.org/D18015
</content>
</entry>
</feed>
