Page MenuHomeFreeBSD

D59337.diff
No OneTemporary

D59337.diff

diff --git a/sys/dev/ixl/ixl_pf_iflib.c b/sys/dev/ixl/ixl_pf_iflib.c
--- a/sys/dev/ixl/ixl_pf_iflib.c
+++ b/sys/dev/ixl/ixl_pf_iflib.c
@@ -500,7 +500,13 @@
ctxt.info.queueing_opt_flags |= I40E_AQ_VSI_QUE_OPT_TCP_ENA;
}
#endif
- /* Save VSI number and info for use later */
+ /*
+ * Save the VSI number and info for later. A changed counter index
+ * begins a new statistics epoch.
+ */
+ if (vsi->stat_offsets_loaded &&
+ vsi->info.stat_counter_idx != ctxt.info.stat_counter_idx)
+ ixl_vsi_reset_stats(vsi);
vsi->vsi_num = ctxt.vsi_number;
bcopy(&ctxt.info, &vsi->info, sizeof(vsi->info));
@@ -1030,6 +1036,9 @@
error = EIO;
goto ixl_rebuild_hw_structs_after_reset_err;
}
+ /* Firmware has rebuilt the port and VSI counter resources. */
+ ixl_pf_reset_stats(pf);
+ ixl_vsi_reset_stats(vsi);
error = i40e_aq_set_phy_int_mask(hw, IXL_DEFAULT_PHY_INT_MASK,
NULL);
diff --git a/sys/dev/ixl/ixl_pf_iov.c b/sys/dev/ixl/ixl_pf_iov.c
--- a/sys/dev/ixl/ixl_pf_iov.c
+++ b/sys/dev/ixl/ixl_pf_iov.c
@@ -210,6 +210,8 @@
}
memcpy(&vf->vsi.info, &vsi_ctx.info, sizeof(vf->vsi.info));
+ /* A newly allocated hardware VSI starts a new statistics epoch. */
+ ixl_vsi_reset_stats(&vf->vsi);
return (0);
fail:

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 4, 2:01 PM (16 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38243023
Default Alt Text
D59337.diff (1 KB)

Event Timeline