[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230313182123.483057-1-anthony.l.nguyen@intel.com>
Date: Mon, 13 Mar 2023 11:21:09 -0700
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, netdev@...r.kernel.org
Cc: Tony Nguyen <anthony.l.nguyen@...el.com>, jacob.e.keller@...el.com
Subject: [PATCH net-next 00/14][pull request] ice: refactor mailbox overflow detection
Jake Keller says:
The primary motivation of this series is to cleanup and refactor the mailbox
overflow detection logic such that it will work with Scalable IOV. In
addition a few other minor cleanups are done while I was working on the
code in the area.
First, the mailbox overflow functions in ice_vf_mbx.c are refactored to
store the data per-VF as an embedded structure in struct ice_vf, rather than
stored separately as a fixed-size array which only works with Single Root
IOV. This reduces the overall memory footprint when only a handful of VFs
are used.
The overflow detection functions are also cleaned up to reduce the need for
multiple separate calls to determine when to report a VF as potentially
malicious.
Finally, the ice_is_malicious_vf function is cleaned up and moved into
ice_virtchnl.c since it is not Single Root IOV specific, and thus does not
belong in ice_sriov.c
I could probably have done this in fewer patches, but I split pieces out to
hopefully aid in reviewing the overall sequence of changes. This does cause
some additional thrash as it results in intermediate versions of the
refactor, but I think its worth it for making each step easier to
understand.
The following are changes since commit 95b744508d4d5135ae2a096ff3f0ee882bcc52b3:
qede: remove linux/version.h and linux/compiler.h
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 100GbE
Jacob Keller (14):
ice: re-order ice_mbx_reset_snapshot function
ice: convert ice_mbx_clear_malvf to void and use WARN
ice: track malicious VFs in new ice_mbx_vf_info structure
ice: move VF overflow message count into struct ice_mbx_vf_info
ice: remove ice_mbx_deinit_snapshot
ice: merge ice_mbx_report_malvf with ice_mbx_vf_state_handler
ice: initialize mailbox snapshot earlier in PF init
ice: declare ice_vc_process_vf_msg in ice_virtchnl.h
ice: always report VF overflowing mailbox even without PF VSI
ice: remove unnecessary &array[0] and just use array
ice: pass mbxdata to ice_is_malicious_vf()
ice: print message if ice_mbx_vf_state_handler returns an error
ice: move ice_is_malicious_vf() to ice_virtchnl.c
ice: call ice_is_malicious_vf() from ice_vc_process_vf_msg()
drivers/net/ethernet/intel/ice/ice_main.c | 12 +-
drivers/net/ethernet/intel/ice/ice_sriov.c | 77 +-----
drivers/net/ethernet/intel/ice/ice_sriov.h | 15 --
drivers/net/ethernet/intel/ice/ice_type.h | 17 +-
drivers/net/ethernet/intel/ice/ice_vf_lib.c | 15 +-
drivers/net/ethernet/intel/ice/ice_vf_lib.h | 2 +-
drivers/net/ethernet/intel/ice/ice_vf_mbx.c | 249 +++++-------------
drivers/net/ethernet/intel/ice/ice_vf_mbx.h | 17 +-
drivers/net/ethernet/intel/ice/ice_virtchnl.c | 49 +++-
drivers/net/ethernet/intel/ice/ice_virtchnl.h | 8 +
10 files changed, 164 insertions(+), 297 deletions(-)
--
2.38.1
Powered by blists - more mailing lists