[PATCH 02/15] hyperv: Add a function to detect hv_device

KY Srinivasan kys at microsoft.com
Fri Dec 2 21:41:50 UTC 2016



> -----Original Message-----
> From: Greg KH [mailto:gregkh at linuxfoundation.org]
> Sent: Friday, December 2, 2016 8:03 AM
> To: KY Srinivasan <kys at microsoft.com>
> Cc: olaf at aepfle.de; jasowang at redhat.com; Haiyang Zhang
> <haiyangz at microsoft.com>; linux-kernel at vger.kernel.org;
> apw at canonical.com; devel at linuxdriverproject.org;
> leann.ogasawara at canonical.com
> Subject: Re: [PATCH 02/15] hyperv: Add a function to detect hv_device
> 
> On Fri, Dec 02, 2016 at 03:38:51PM +0000, KY Srinivasan wrote:
> >
> >
> > > -----Original Message-----
> > > From: Greg KH [mailto:gregkh at linuxfoundation.org]
> > > Sent: Thursday, December 1, 2016 11:36 PM
> > > To: KY Srinivasan <kys at microsoft.com>
> > > Cc: linux-kernel at vger.kernel.org; devel at linuxdriverproject.org;
> > > olaf at aepfle.de; apw at canonical.com; vkuznets at redhat.com;
> > > jasowang at redhat.com; leann.ogasawara at canonical.com; Haiyang Zhang
> > > <haiyangz at microsoft.com>
> > > Subject: Re: [PATCH 02/15] hyperv: Add a function to detect hv_device
> > >
> > > On Fri, Dec 02, 2016 at 07:14:03AM +0000, KY Srinivasan wrote:
> > > > > In other words, why do you need this and PCI or USB doesn't?  Why is
> > > > > hyperv "special"?
> > > >
> > > > On Hyper-V, each VF interface (SR-IOV interface)
> > > > is paired with an instance of the
> > > > synthetic interface that is managed by netvsc.
> > > > When the VF interface comes up, we
> > > > need to associate the VF instance with
> > > > the corresponding netvsc instance. To do this
> > > > without modifying the VF drivers, netvsc registers
> > > > for netdev events.
> > >
> > > Why not modify the VF drivers?  You have the full source to them...
> > Greg,
> >
> > This is even worse. On Linux, VF drivers are hypervisor agnostic
> > and I want to keep it that way.
> 
> Ok, I really don't know what to suggest, other than this is probably not
> the way to do this as no other bus has to.  As I don't see the code that
> actually uses this anywhere, it's really impossible to have this
> conversation at all :(

I agree it is difficult to discuss this without
having the code that uses this.
That said, there is currently code in
the tree that disambiguates the netdev
events that netvsc sees - look at the function
get_netvsc_bymac(). This function allows us to 
associate the VF interface that maybe coming up with the
associated netvsc interface using MAC address. What I want to do
is to not use the MAC address but to use a serial number that the
host publishes. I could send the netvsc patches that use this if that
would help here. In any case once we have this functionality, we will be
submitting the patches that use this.

What I am trying to do here is to implement the equivalent of dev_is_pci()
for vmbus.
 
You also had concerns about how we were implementing this functionality.
We could certainly use the same mechanism used in dev_is_pci(). Perhaps
I could also use the same naming convention - dev_is_hv()?

Regards,

K. Y

> 
> greg k-h


More information about the devel mailing list