On Tue, 07 Jul 2020 02:08:13 +0800 "YU, Xiangning" <xiangning...@alibaba-inc.com> wrote:
> +static inline s64 get_linkspeed(struct net_device *dev) This is not performance sensitive and should not be marked inline. > +{ > + struct ethtool_link_ksettings ecmd; > + > + ASSERT_RTNL(); > + if (netif_running(dev) && !__ethtool_get_link_ksettings(dev, &ecmd)) > + /* Convert to bytes per second */ > + return ecmd.base.speed * 1000 * 1000L / 8; You need to be more careful in handling of devices that return unknown for speed. > + return 0; > +} > +