[dpdk-dev] [PATCH] net/i40e: enable statistic reset for VF

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Mar 20 10:14:19 CET 2017


2017-03-20 02:47, Zhang, Helin:
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > 2017-03-17 09:45, Zhang, Helin:
> > >From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > > >2017-03-17 03:28, Zhang, Helin:
> > > >> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > > >> > 2017-02-23 13:27, Qi Zhang:
> > > >> > >  static void
> > > >> > > +i40evf_dev_stats_reset(struct rte_eth_dev *dev) {
> > > >> > > +	struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data-
> > > >> > >dev_private);
> > > >> > > +	/* only DPDK PF support this */
> > > >> > > +	if (vf->version_major == I40E_DPDK_VERSION_MAJOR) {
> > > >> > > +		if (i40evf_reset_statistics(dev))
> > > >> > > +			PMD_DRV_LOG(ERR, "Reset statistics failed");
> > > >> > > +	}
> > > >> > > +}
> > > >> >
> > > >> > One more SR-IOV feature not supported with a Linux PF.
> > > >> > The basic stats feature must be marked as partially supported in
> > > >> > 	doc/guides/nics/features/i40e_vf.ini
> > > >> > See also this email:
> > > >> > 	http://dpdk.org/ml/archives/dev/2017-March/060063.html
> > > >> >
> > > >> > I wonder whether we should allow such divergence between PF
> > > >> > implementations. Intel committed to avoid such fragmentation and
> > > >> > keep the SR-IOV messaging standard but it does not happen.
> > > >> > It is said that we must allow fast innovation in DPDK space.
> > > >> > I agree but we should also target a good usability of the VF
> > > >> > drivers, allowing to replace the PF implementations as needed.
> > > >>
> > > >> Hi Thomas
> > > >>
> > > >> I think I need to clarify a little bit here.
> > > >> I think we will try our best, but I don't think we can commit. As
> > > >> they are on totally different community, and of cause code repositories.
> > 
> > What prevent you from submitting your code to the kernel community?
> > Note that your statement does not respect the agreed policy:
> > 	http://dpdk.org/ml/archives/dev/2017-January/055224.html
> > 	http://dpdk.org/doc/guides/contributing/design.html#pf-and-vf-
> > considerations
> 
> There might be some confusing or misunderstanding.
> I didn't say we will not submit any patches to kernel community.
> We will try to send a few first, and then see what will happen. If it will be
> rejected, or take too much time to be accepted. Then we may give up.
> If it can be accepted by kernel community, then we may continue.
> That's the reality, we will try, but we cannot make any commitment
> on having anything in kernel side.

Of course you do not know if it will be accepted in Linux.
The agreed policy was just to try:
"
PF functionality should only be added to DPDK for testing and
prototyping purposes while the kernel work is ongoing.
"

> > > >> > Here is my suggestion: let's accept a VF feature only if the PF
> > > >> > support is submitted to both dpdk.org and kernel.org mailing lists.
> > > >> > I ask to add this topic to the next techboard meeting.
> > > >>
> > > >> Sorry, technically I disagree with this suggestion, as I don't understand
> > why!
> > > >> I was told DPDK is not Linux, and Linux is not DPDK. Why we want to
> > > >> add this dependency on Linux PF host driver? And why just on PF/VF
> > driver feature only?
> > > >> I think if we can have any good innovative idea on DPDK first, why
> > > >> not just have it on DPDK? Then Linux or even other
> > > >> OS/community/Company can learn from DPDK and develop their own.
> > > >
> > > > It is really a general problem.
> > > > Here you are adding a feature in a VF driver. But it does not work
> > > > with some PF drivers.We have the same problem when adding a feature
> > > > which does not work on BSD or on a CPU architecture.
> > > > Generally speaking, we have a usability issue when a feature works
> > > > only with a given environment.
> > > > And it is worst in the SR-IOV case because a VM can migrate from an
> > > > hypervisor (with a given PF) to another (and different) one.
> > >
> > > Yes, I understood that's the reality and the issue. But I don't think we can
> > address it with your suggestion.
> > > Linux is just one of the OS, as you said, FreeBSD, Windows, VMWare,  ...
> > 
> > I am talking about migration from a KVM to another one.
> > So BSD, Windows and VMware are irrelevant.
> 
> But as a guest user, he may want to his application running well in all the VMs
> without modifying anything, no matter in KVM, Windows, or VMWare.
> Do you want to address that issue too?

That's a different question. DPDK PF is a replacement for Linux PF.
When considering another hypervisor (Windows or VMware), there can be
many things different. I think trying to have the same behaviour, with
all these hypervisors, is a nice goal but a smaller priority than
DPDK/Linux standardization.

> > > I'd suggest to start another discussion on the tech board to solve
> > > that problem, but not limit adding new features. They are different topics
> > and things, based on my understanding.
> > 
> > Helin, you just want to add your new code and hide issues.
> > You don't even bother to document the limitations or the partial support as I
> > have suggested earlier.
> > As a maintainer, I have to check the quality and the usability.
> > I can tell you that I stack the promises "I will fix it later" and we are still waiting
> > for a lot of them.
> > That's why, even if you think it is not related, we need sometimes to block
> > things until they are properly done and completed.
> 
> There is no doubt, I appreciate your great job!
> As I said before, we will try to submit a few first, and see what will happen.
> For your doc requests, I think somebody else already replied you.
> 
> Sorry, I don't know that you are thinking about KVM migration. I was informed by
> Vincent that all DPDK PF host features should be consistent with kernel host driver,
> though I am not sure if I missed anything.
> OK. Let's focus on the issue. What's the problem statement? What's the solution
> well discussed and accepted widely by the community?
> BTW, do we need to think about that a bit more? For example, do we need to
> think about the similar policy on rte_flow API, ACL and possibly other features?

Yes homogeneity should be general, so we must keep it in mind for future
works and enhancements of every DPDK areas.
We could write some general guidelines that the techboard would have
to approve.


More information about the dev mailing list