On 5/17/16, 1:41 AM, Jiri Pirko wrote:
> Tue, May 17, 2016 at 10:39:08AM CEST, [email protected] wrote:
>> On 05/12/16 at 01:48pm, Jiri Pirko wrote:
>>> diff --git a/net/core/dev.c b/net/core/dev.c
>>> index 12436d1..a69e418 100644
>>> --- a/net/core/dev.c
>>> +++ b/net/core/dev.c
>>> @@ -7376,6 +7376,8 @@ EXPORT_SYMBOL(netdev_stats_to_stats64);
>>> * The device driver may provide its own method by setting
>>> * dev->netdev_ops->get_stats64 or dev->netdev_ops->get_stats;
>>> * otherwise the internal statistics structure is used.
>>> + * If device supports both HW & SW statistics - this function should
>>> + * return the HW statistics.
>>> */
>>> struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev,
>>> struct rtnl_link_stats64 *storage)
>> Can we clarify in a comment that given HW stats are available whether this
>> would continue to account for something like a memory allocation failure
>> through tx_dropped (for drivers which do skb_realloc_headroom() in xmit)
>> or tx_busy for when the ring is busy? HW would never see such failures Is
>> the expectation that dev_get_stats() continues to include these software
>> failures?
> I think it makes sense to merge HW counters with the kernel error counters
> you mention. We'll fix that. Thanks.
yep. This is what i was pointing out as well with enic and possibly other
drivers.
Mellanox driver does it or not...,..the comment should definitely be fixed since
some drivers already do this.