On 8/11/20 5:44 AM, Michael S. Tsirkin wrote:
External email: Use caution opening links or attachments


On Tue, Aug 11, 2020 at 11:58:23AM +0000, Eli Cohen wrote:
On Tue, Aug 11, 2020 at 11:26:20AM +0000, Eli Cohen wrote:
Hi All

Currently, the only statistics we get for a VDPA instance comes from the 
virtio_net device instance. Since VDPA involves hardware acceleration, there 
can be quite a lot of information that can be fetched from the underlying 
device. Currently there is no generic method to fetch this information.

One way of doing this can be to create a the host, a net device for
each VDPA instance, and use it to get this information or do some
configuration. Ethtool can be used in such a case

I would like to hear what you think about this or maybe you have some other 
ideas to address this topic.

Thanks,
Eli
Something I'm not sure I understand is how are vdpa instances created on 
mellanox cards? There's a devlink command for that, is that right?
Can that be extended for stats?

Currently any VF will be probed as VDPA device. We're adding devlink support 
but I am not sure if devlink is suitable for displaying statistics. We will 
discuss internally but I wanted to know why you guys think.
OK still things like specifying the mac are managed through rtnetlink,
right?

Right now it does not look like you can mix stats and vf, they are
handled separately:

         if (rtnl_fill_stats(skb, dev))
                 goto nla_put_failure;

         if (rtnl_fill_vf(skb, dev, ext_filter_mask))
                 goto nla_put_failure;

but ability to query vf stats on the host sounds useful generally.

As another option, we could use a vdpa specific way to retrieve stats,
and teach qemu to report them.

If you are looking for a place to add additional stats, please, check the RTM_*STATS api

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/net/core/rtnetlink.c#n5351
(Its a place where new interface and protocol stats are being added)

Reply via email to