On Fri, 20 Dec 2024 10:09:06 +0100 Andrew Lunn wrote:
> > @@ -234,7 +234,12 @@ from .remote import Remote
> > Good drivers will tell us via ethtool what their sync period is.
> > """
> > if self._stats_settle_time is None:
> > - data = ethtool("-c " + self.ifname, json=True)[0]
> > + data = {}
> > + try:
> > + data = ethtool("-c " + self.ifname, json=True)[0]
> > + except CmdExitFailure as e:
> > + if "Operation not supported" not in e.cmd.stderr:
> > + raise
>
> How important is this time to the test itself?
Just to be clear (because unfortunately git doesn't do a good job of
calling out Python method names in the diff :() this is part of a
method called wait_hw_stats_settle() within the test env class.
It's used by various tests which use/check device stats.
> If it is not available,
> can the test just default to 50ms and keep going? I would of thought
> we find more issues by running the test too slowly, than not running
> it at all, unless having the wrong timer makes it more flaky.
We already use zero for majority of driver which don't report stat
refresh:
data.get('stats-block-usecs', 0) / 1000 / 1000
^^^
this patch just does the same thing not only if the driver doesn't
report 'stats-block-usecs' but also if it doesn't support -c at all.