#
347419 |
|
10-May-2019 |
erj |
ix(4): Move {mod,msf,mbx,fdir,phy,link}_task to lock protected handler
This patch introduces adapter->task_requests register responsible for recording requests for mod_task, msf_task, mbx_task, fdir_task, phy_task and link_task calls. Instead of enqueueing each of these tasks with GROUPTASK_ENQUEUE, new task is created and all handlers are called from one task while holding adapter->core_mtx lock.
SIOCGIFXMEDIA ioctl() call reads adapter->media list. The list is deleted and rewritten in ixgbe_handle_msf() task without holding adapter->core_mtx lock. This change is needed to maintain data coherency when sharing adapter info via ioctl() calls.
Since handlers for abovementioned tasks will no longer act as task handlers, but as regular functions, 'pending' parameter is removed from them.
This patch also removes ixgbe_update_link_status() call from ixgbe_handle_link() handler. From now on, link status will be updated by calling ixgbe_update_link_status() periodically from ixgbe_local_timer(). This fixes problem with link flapping during changing interface state to UP.
Parameter keep_traffic is added to ixgbe_disable_intr(). This enables ixgbe_handle_admin_task() to not disable and queue interrupts. Accordingly, skip_traffic parameter is added to ixgbe_enable_intr() to let ixgbe_handle_admin_task() skip enabling queues while enabling interrupts.
This patch is a port of r343621. r343621 can't be merged from current since stable/11 contains ixgbe driver without iflib support.
Patch co-authored by Krzysztof Galazka <krzysztof.galazka@intel.com>.
Submitted by: Piotr Pietruszewski <piotr.pietruszewski@intel.com> Reviewed by: #IntelNetworking Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D19711
|
#
320897 |
|
11-Jul-2017 |
erj |
MFC r316541, r316544, and r320688 from HEAD to stable/11.
r316541: Fix a double free in ixgbe_rxeof()
r316544: Don't overwrite vf->flags variable at the end of ixgbe(4) ixgbe_add_vf()
r320688: ixgbe(4): Update HEAD (p3) to 3.2.12-k
Includes:
- Support for X550EM devices. - Support for Bypass adapters. - Flow Director code moved to separate files - SR-IOV code moved to separate files - Netmap code moved to separate files
Sponsored by: Intel Corporation
|