[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160513060348.GA2060@nanopsycho.orion>
Date: Fri, 13 May 2016 08:03:48 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Roopa Prabhu <roopa@...ulusnetworks.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net, nogahf@...lanox.com,
idosch@...lanox.com, eladr@...lanox.com, yotamg@...lanox.com,
ogerlitz@...lanox.com, nikolay@...ulusnetworks.com,
linville@...driver.com, tgraf@...g.ch, gospo@...ulusnetworks.com,
sfeldma@...il.com, sd@...asysnail.net, eranbe@...lanox.com,
ast@...mgrid.com, edumazet@...gle.com, hannes@...essinduktion.org
Subject: Re: [patch net-next 1/4] netdevice: add SW statistics ndo
Thu, May 12, 2016 at 11:10:08PM CEST, roopa@...ulusnetworks.com wrote:
>On 5/12/16, 4:48 AM, Jiri Pirko wrote:
>> From: Nogah Frankel <nogahf@...lanox.com>
>>
>> Till now we had a ndo statistics function that returned SW statistics.
>> We want to change the "basic" statistics to return HW statistics if
>> available.
>> In this case we need to expose a new ndo to return the SW statistics.
>> Add a new ndo declaration to get SW statistics
>> Add a function that gets SW statistics if a competible ndo exist
>>
>> Signed-off-by: Nogah Frankel <nogahf@...lanox.com>
>> Reviewed-by: Ido Schimmel <idosch@...lanox.com>
>> Signed-off-by: Jiri Pirko <jiri@...lanox.com>
>> ---
>>
>To me netdev stats is combined 'SW + HW' stats for that netdev.
>ndo_get_stats64 callback into the drivers does the magic of adding HW stats
>to SW (netdev) stats and returning (see enic_get_stats). HW stats is available for netdevs
>that are offloaded or are backed by hardware. SW stats is the stats that the driver maintains
>(logical or physical). HW stats is queried and added to the SW stats.
I'm not sure I follow. HW stats already contain SW stats. Because on
slow path every packet that is not offloaded and goes through kernel is
counted into HW stats as well (because it goes through HW port). If you
do HW stats + SW stats, what you get makes no sense. Am I missing something?
Btw, looking at enic_get_stats, looks exactly what we introduce for
mlxsw in this patchset.
With this patchset, we only allow user to se the actual stats for
slow-path aka SW stats.
>In fact, we represent all our offloaded netdev stats following this model.
>This fits well for logical devices like vlan/bond/vxlan which are hardware offloaded too.
>
>There is HW extended stats which today are represented by ethtool
>and I had an example of a new nested attribute like IFLA_STATS_LINK_HW_EXTENDED
>to provide ethtool like extensible stats. If people want pure hardware stats, they
>get it via this. In which case I am not seeing the point in adding a new ndo and a new
>stats attribute just for this. If you are looking for pure hardware stats, any reason we cant
>just use the IFLA_STATS_LINK_HW_EXTENDED and add ethtool like hw stats ?.
>This will be one place to look for all hardware stats and will be extensible too.
>
>
Powered by blists - more mailing lists