idpf: reshuffle idpf_vport struct members to avoid holes

The previous refactor of moving queue and vector resources out of the
idpf_vport structure, created few holes. Reshuffle the existing members
to avoid holes as much as possible.

Reviewed-by: Anton Nadezhdin <anton.nadezhdin@intel.com>
Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
Pavan Kumar Linga 2025-11-12 16:41:38 -08:00 committed by Tony Nguyen
parent f6892116be
commit 47ee0543a4

View File

@ -349,29 +349,29 @@ struct idpf_q_vec_rsrc {
/**
* struct idpf_vport - Handle for netdevices and queue resources
* @dflt_qv_rsrc: contains default queue and vector resources
* @num_txq: Number of allocated TX queues
* @compln_clean_budget: Work budget for completion clean
* @txqs: Used only in hotpath to get to the right queue very fast
* @crc_enable: Enable CRC insertion offload
* @xdpsq_share: whether XDPSQ sharing is enabled
* @num_txq: Number of allocated TX queues
* @num_xdp_txq: number of XDPSQs
* @xdp_txq_offset: index of the first XDPSQ (== number of regular SQs)
* @xdpsq_share: whether XDPSQ sharing is enabled
* @xdp_prog: installed XDP program
* @rx_ptype_lkup: Lookup table for ptypes on RX
* @vdev_info: IDC vport device info pointer
* @adapter: back pointer to associated adapter
* @netdev: Associated net_device. Each vport should have one and only one
* associated netdev.
* @flags: See enum idpf_vport_flags
* @vport_type: Default SRIOV, SIOV, etc.
* @compln_clean_budget: Work budget for completion clean
* @vport_id: Device given vport identifier
* @vport_type: Default SRIOV, SIOV, etc.
* @idx: Software index in adapter vports struct
* @default_vport: Use this vport if one isn't specified
* @max_mtu: device given max possible MTU
* @default_mac_addr: device will give a default MAC to use
* @rx_itr_profile: RX profiles for Dynamic Interrupt Moderation
* @tx_itr_profile: TX profiles for Dynamic Interrupt Moderation
* @rx_ptype_lkup: Lookup table for ptypes on RX
* @port_stats: per port csum, header split, and other offload stats
* @default_vport: Use this vport if one isn't specified
* @crc_enable: Enable CRC insertion offload
* @link_up: True if link is up
* @tx_tstamp_caps: Capabilities negotiated for Tx timestamping
* @tstamp_config: The Tx tstamp config
@ -380,34 +380,32 @@ struct idpf_q_vec_rsrc {
*/
struct idpf_vport {
struct idpf_q_vec_rsrc dflt_qv_rsrc;
u16 num_txq;
u32 compln_clean_budget;
struct idpf_tx_queue **txqs;
bool crc_enable;
bool xdpsq_share;
u16 num_txq;
u16 num_xdp_txq;
u16 xdp_txq_offset;
bool xdpsq_share;
struct bpf_prog *xdp_prog;
struct libeth_rx_pt *rx_ptype_lkup;
struct iidc_rdma_vport_dev_info *vdev_info;
struct idpf_adapter *adapter;
struct net_device *netdev;
DECLARE_BITMAP(flags, IDPF_VPORT_FLAGS_NBITS);
u16 vport_type;
u32 compln_clean_budget;
u32 vport_id;
u16 vport_type;
u16 idx;
bool default_vport;
u16 max_mtu;
u8 default_mac_addr[ETH_ALEN];
u16 rx_itr_profile[IDPF_DIM_PROFILE_SLOTS];
u16 tx_itr_profile[IDPF_DIM_PROFILE_SLOTS];
struct idpf_port_stats port_stats;
struct libeth_rx_pt *rx_ptype_lkup;
struct idpf_port_stats port_stats;
bool default_vport;
bool crc_enable;
bool link_up;
struct idpf_ptp_vport_tx_tstamp_caps *tx_tstamp_caps;