RE: [PATCH 6/6] drivers:pci:hv: New paravirtual PCI front-end for Hyper-V VMs

From: Jake Oshins
Date: Fri Jun 12 2015 - 11:11:22 EST


> -----Original Message-----
> From: Paul Bolle [mailto:pebolle@xxxxxxxxxx]
> Sent: Friday, June 12, 2015 1:44 AM
> To: Jake Oshins
> Cc: gregkh@xxxxxxxxxxxxxxxxxxx; KY Srinivasan; linux-
> kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx;
> apw@xxxxxxxxxxxxx; vkuznets@xxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx;
> bhelgaas@xxxxxxxxxx; Mike Ebersol; Haiyang Zhang
> Subject: Re: [PATCH 6/6] drivers:pci:hv: New paravirtual PCI front-end for
> Hyper-V VMs
>
> Greg has already asked you to resend. So here follow a few remarks to
> take into account for that resend.
>

Thank you. I'll fix everything you've mentioned before resending. I do have one more question, below.

>
> > +EXPORT_SYMBOL(hv_read_config_block);
>
> > +EXPORT_SYMBOL(hv_write_config_block);
>
> > +EXPORT_SYMBOL(hv_register_block_invalidate);
>
> I couldn't spot any users of these exports. Actually, I couldn't even
> spot any users of these three functions. Why were they added?
>

This driver is intended to support both full PCI Express device pass through and also be the basis for SR-IOV networking on top of Hyper-V. These functions would allow somebody trying to make their NIC driver work on top of Hyper-V to exchange messages with their back-end Windows driver.

My question is this. How does somebody delivering a platform usually work with the Linux community to deliver enablement code like this? I'm trying to work in the open, and go upstream early (or at least I think that understand what these things mean.) If the community doesn't want functions that have no callers (and I understand that, too) then how should I provide them to the NIC vendors?

Thanks,
Jake Oshins