linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* VDPA Debug/Statistics
@ 2020-08-11 11:26 Eli Cohen
  2020-08-11 11:33 ` Michael S. Tsirkin
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Cohen @ 2020-08-11 11:26 UTC (permalink / raw)
  To: Michael S. Tsirkin, Jason Wang
  Cc: kvm, virtualization, netdev, linux-kernel, eli, lulu,
	Majd Dibbiny, Maor Dickman, Shahaf Shuler

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: VDPA Debug/Statistics
  2020-08-11 11:26 VDPA Debug/Statistics Eli Cohen
@ 2020-08-11 11:33 ` Michael S. Tsirkin
  2020-08-11 11:58   ` Eli Cohen
  0 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2020-08-11 11:33 UTC (permalink / raw)
  To: Eli Cohen
  Cc: Jason Wang, kvm, virtualization, netdev, linux-kernel, eli, lulu,
	Majd Dibbiny, Maor Dickman, Shahaf Shuler

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?

-- 
MST


^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: VDPA Debug/Statistics
  2020-08-11 11:33 ` Michael S. Tsirkin
@ 2020-08-11 11:58   ` Eli Cohen
  2020-08-11 12:44     ` Michael S. Tsirkin
  2020-08-12  2:09     ` Jason Wang
  0 siblings, 2 replies; 6+ messages in thread
From: Eli Cohen @ 2020-08-11 11:58 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Jason Wang, kvm, virtualization, netdev, linux-kernel, eli, lulu,
	Majd Dibbiny, Maor Dickman, Shahaf Shuler, Parav Pandit

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.

--
MST


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: VDPA Debug/Statistics
  2020-08-11 11:58   ` Eli Cohen
@ 2020-08-11 12:44     ` Michael S. Tsirkin
  2020-08-11 16:10       ` Roopa Prabhu
  2020-08-12  2:09     ` Jason Wang
  1 sibling, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2020-08-11 12:44 UTC (permalink / raw)
  To: Eli Cohen
  Cc: Jason Wang, kvm, virtualization, netdev, linux-kernel, eli, lulu,
	Majd Dibbiny, Maor Dickman, Shahaf Shuler, Parav Pandit

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.




> --
> MST


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: VDPA Debug/Statistics
  2020-08-11 12:44     ` Michael S. Tsirkin
@ 2020-08-11 16:10       ` Roopa Prabhu
  0 siblings, 0 replies; 6+ messages in thread
From: Roopa Prabhu @ 2020-08-11 16:10 UTC (permalink / raw)
  To: Michael S. Tsirkin, Eli Cohen
  Cc: Jason Wang, kvm, virtualization, netdev, linux-kernel, eli, lulu,
	Majd Dibbiny, Maor Dickman, Shahaf Shuler, Parav Pandit


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)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: VDPA Debug/Statistics
  2020-08-11 11:58   ` Eli Cohen
  2020-08-11 12:44     ` Michael S. Tsirkin
@ 2020-08-12  2:09     ` Jason Wang
  1 sibling, 0 replies; 6+ messages in thread
From: Jason Wang @ 2020-08-12  2:09 UTC (permalink / raw)
  To: Eli Cohen, Michael S. Tsirkin
  Cc: kvm, virtualization, netdev, linux-kernel, eli, lulu,
	Majd Dibbiny, Maor Dickman, Shahaf Shuler, Parav Pandit


On 2020/8/11 下午7:58, 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


The problems are:

- vDPA is not net specific
- vDPA should be transparent to host networking stack


>>
>> 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.


I agree with Michael, if it's possible, integrating stats with devlink 
should be the best. Having another interface with is just for stats 
looks not good.

Thanks


>
> --
> MST
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-12  2:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-11 11:26 VDPA Debug/Statistics Eli Cohen
2020-08-11 11:33 ` Michael S. Tsirkin
2020-08-11 11:58   ` Eli Cohen
2020-08-11 12:44     ` Michael S. Tsirkin
2020-08-11 16:10       ` Roopa Prabhu
2020-08-12  2:09     ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).