On Fri, Dec 20, 2024 at 06:22:14AM -0800, Jakub Kicinski wrote: > 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. [Looks at it again] So the raise is if ethtool give an error other than EOPNOTUPP, so a real error. O.K. Then i makes sense. Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Andrew