]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC: r343621
authorMarius Strobl <marius@FreeBSD.org>
Wed, 13 Feb 2019 15:19:31 +0000 (15:19 +0000)
committerMarius Strobl <marius@FreeBSD.org>
Wed, 13 Feb 2019 15:19:31 +0000 (15:19 +0000)
commite8cb609256e9530547534365282b82c733e57f4a
tree5595dd66565a07fe5677c79e14842bcb016f91be
parent06a4b06d11d8d7280b8f184855f905229affc37d
MFC: r343621

ix(4): Run {mod,msf,mbx,fdir,phy}_task in if_update_admin_status

From Piotr:

This patch introduces adapter->task_requests register responsible for
recording requests for mod_task, msf_task, mbx_task, fdir_task and
phy_task calls. Instead of enqueueing these tasks with
GROUPTASK_ENQUEUE, handlers will be called directly from
ixgbe_if_update_admin_status() while holding ctx lock.

SIOCGIFXMEDIA ioctl() call reads adapter->media list. The list is
deleted and rewritten in ixgbe_handle_msf() task without holding ctx
lock. This change is needed to maintain data coherency when sharing
adapter info via ioctl() calls.

Patch co-authored by Krzysztof Galazka <krzysztof.galazka@intel.com>.

PR: 221317
Submitted by: Piotr Pietruszewski <piotr.pietruszewski@intel.com>
Reviewed by: sbruno@, IntelNetworking
Differential Revision: https://reviews.freebsd.org/D18468
sys/dev/ixgbe/if_ix.c
sys/dev/ixgbe/ixgbe.h
sys/dev/ixgbe/ixgbe_type.h