]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r343346
authorvmaffione <vmaffione@FreeBSD.org>
Wed, 6 Feb 2019 09:49:42 +0000 (09:49 +0000)
committervmaffione <vmaffione@FreeBSD.org>
Wed, 6 Feb 2019 09:49:42 +0000 (09:49 +0000)
commit96c8dd355ce063d98ce7952b7c3733093ac44fc0
tree96eedd1434bda5646407495ed0900feb5c12f7aa
parent9441d33e3b0eb26ba8adf78562e94f018cf8e004
MFC r343346

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().
    - 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()
sys/dev/netmap/netmap_kern.h
sys/dev/netmap/netmap_kloop.c
sys/net/netmap.h