STRUCT VIRTCHNL2_VECTOR_CHUNK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Kernel API Manual, bestie: this is the struct virtchnl2_vector_chunk(9) page, and it's all about struct virtchnl2_vector_chunk β€” Structure to specify a chunk of contiguous interrupt vectors. That's the whole vibe. πŸ’…

✨ SYNOPSIS ✨

       struct virtchnl2_vector_chunk {
           __le16 start_vector_id;
           __le16 start_evv_id;
           __le16 num_vectors;
           __le16 pad;
           __le32 dynctl_reg_start;
           __le32 dynctl_reg_spacing;
           __le32 itrn_reg_start;
           __le32 itrn_reg_spacing;
           __le32 itrn_index_spacing;
           u8 pad1[4];
        };

πŸŽ€ Members πŸŽ€

  • start_vector_id β€” the start vector id for this chunk, iconic.
  • start_evv_id β€” the start EVV id, periodt.
  • num_vectors β€” the number of vectors in the chunk.
  • pad β€” padding, just vibing.
  • dynctl_reg_start β€” DYN_CTL register offset.
  • dynctl_reg_spacing β€” register spacing between DYN_CTL registers of 2 consecutive vectors.
  • itrn_reg_start β€” ITRN register offset.
  • itrn_reg_spacing β€” register spacing between dynctl registers of 2 consecutive vectors.
  • itrn_index_spacing β€” register spacing between itrn registers of the same vector where n=0..2.
  • pad1 β€” padding for future extensions.

πŸ’– Description πŸ’–

Okay so the register offsets and spacing are provided by CP. The dynamic control registers are used for enabling/disabling/re-enabling interrupts and updating interrupt rates in the hotpath β€” main character energy, fr fr. Any changes to interrupt rates in the dynamic control registers will be reflected in the interrupt throttling rate registers. And the itrn registers? They're used to update interrupt rates for specific interrupt indices without modifying the state of the interrupt. Slay. ✨

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/net/intel/virtchnl2.h is the mothership. The whole reference lineup, in order, is:

  • enum virtchnl2_vport_type(9)
  • enum virtchnl2_queue_model(9)
  • enum virtchnl2_action_types(9)
  • enum virtchnl2_txq_sched_mode(9)
  • enum virtchnl2_rxq_flags(9)
  • enum virtchnl2_mac_addr_type(9)
  • struct virtchnl2_edt_caps(9)
  • struct virtchnl2_version_info(9)
  • struct virtchnl2_get_capabilities(9)
  • struct virtchnl2_queue_reg_chunk(9)
  • struct virtchnl2_queue_reg_chunks(9)
  • enum virtchnl2_vport_flags(9)
  • struct virtchnl2_create_vport(9)
  • struct virtchnl2_vport(9)
  • struct virtchnl2_txq_info(9)
  • struct virtchnl2_config_tx_queues(9)
  • struct virtchnl2_rxq_info(9)
  • struct virtchnl2_config_rx_queues(9)
  • struct virtchnl2_add_queues(9)
  • struct virtchnl2_vector_chunks(9)
  • struct virtchnl2_alloc_vectors(9)
  • struct virtchnl2_rss_lut(9)
  • struct virtchnl2_rss_hash(9)
  • struct virtchnl2_sriov_vfs_info(9)
  • struct virtchnl2_ptype(9)
  • struct virtchnl2_get_ptype_info(9)
  • struct virtchnl2_vport_stats(9)
  • struct virtchnl2_event(9)
  • struct virtchnl2_rss_key(9)
  • struct virtchnl2_queue_chunk(9)
  • struct virtchnl2_del_ena_dis_queues(9)
  • struct virtchnl2_queue_vector(9)
  • struct virtchnl2_queue_vector_maps(9)
  • struct virtchnl2_loopback(9)
  • struct virtchnl2_mac_addr_list(9)
  • struct virtchnl2_promisc_info(9)
  • enum virtchnl2_ptp_caps(9)
  • struct virtchnl2_ptp_clk_reg_offsets(9)
  • struct virtchnl2_ptp_cross_time_reg_offsets(9)
  • struct virtchnl2_ptp_clk_adj_reg_offsets(9)
  • struct virtchnl2_ptp_tx_tstamp_latch_caps(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_caps(9)
  • struct virtchnl2_ptp_get_caps(9)
  • struct virtchnl2_ptp_tx_tstamp_latch(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_latches(9)
  • struct virtchnl2_ptp_get_dev_clk_time(9)
  • struct virtchnl2_ptp_get_cross_time(9)
  • struct virtchnl2_ptp_set_dev_clk_time(9)
  • struct virtchnl2_ptp_adj_dev_clk_fine(9)
  • struct virtchnl2_ptp_adj_dev_clk_time(9)
  • struct virtchnl2_mem_region(9)
  • struct virtchnl2_get_lan_memory_regions(9)
  • struct virtchnl2_proto_hdr(9)
  • struct virtchnl2_proto_hdrs(9)
  • struct virtchnl2_rule_action(9)
  • struct virtchnl2_rule_action_set(9)
  • struct virtchnl2_flow_rule(9)
  • struct virtchnl2_flow_rule_info(9)
  • struct virtchnl2_flow_rule_add_del(9)

Signed off from source/version ./include/linux/net/intel, dated October 2026 β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from