diff for duplicates of <1527699273.29907.2.camel@intel.com> diff --git a/a/1.txt b/N1/1.txt index 81dec1a..f884b5f 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,23 +1,30 @@ -T24gV2VkLCAyMDE4LTA1LTMwIGF0IDA5OjQ0IC0wNzAwLCBSdXN0YWQsIE1hcmsgRCB3cm90ZToN -Cj4gT24gTWF5IDMwLCAyMDE4LCBhdCA5OjIyIEFNLCBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEBy -ZWRoYXQuY29tPiB3cm90ZToNCj4gDQo+ID4gPiArc3RhdGljIGludCB2aXJ0aW9fcGNpX3NyaW92 -X2NvbmZpZ3VyZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2RldiwgaW50ICANCj4gPiA+IG51bV92ZnMp -DQo+ID4gPiArew0KPiA+ID4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXZpY2UgKnZwX2RldiA9IHBj -aV9nZXRfZHJ2ZGF0YShwY2lfZGV2KTsNCj4gPiA+ICsJc3RydWN0IHZpcnRpb19kZXZpY2UgKnZk -ZXYgPSAmdnBfZGV2LT52ZGV2Ow0KPiA+ID4gKwlpbnQgKCpzcmlvdl9jb25maWd1cmUpKHN0cnVj -dCBwY2lfZGV2ICpwY2lfZGV2LCBpbnQgbnVtX3Zmcyk7DQo+ID4gPiArDQo+ID4gPiArCWlmICgh -KHZkZXYtPmNvbmZpZy0+Z2V0X3N0YXR1cyh2ZGV2KSAmIFZJUlRJT19DT05GSUdfU19EUklWRVJf -T0spKQ0KPiA+ID4gKwkJcmV0dXJuIC1FQlVTWTsNCj4gPiA+ICsNCj4gPiA+ICsJaWYgKCFfX3Zp -cnRpb190ZXN0X2JpdCh2ZGV2LCBWSVJUSU9fRl9TUl9JT1YpKQ0KPiA+ID4gKwkJcmV0dXJuIC1F -SU5WQUw7DQo+ID4gPiArDQo+ID4gPiArCXNyaW92X2NvbmZpZ3VyZSA9IHBjaV9zcmlvdl9jb25m -aWd1cmVfc2ltcGxlOw0KPiA+ID4gKwlpZiAoc3Jpb3ZfY29uZmlndXJlID09IE5VTEwpDQo+ID4g -PiArCQlyZXR1cm4gLUVOT0VOVDsNCj4gPiANCj4gPiBCVFcgd2hhdCBpcyBhbGwgdGhpcyB0cmlj -a2VyeSBpbiBhaWQgb2Y/DQo+IA0KPiBXaGVuIFNSLUlPViBzdXBwb3J0IGlzIG5vdCBjb21waWxl -ZCBpbnRvIHRoZSBrZXJuZWwsICANCj4gcGNpX3NyaW92X2NvbmZpZ3VyZV9zaW1wbGUgaXMgI2Rl -ZmluZWQgYXMgTlVMTC4gVGhpcyBhbGxvd3MgaXQgdG8gY29tcGlsZSAgDQo+IGluIHRoYXQgY2Fz -ZSwgZXZlbiB0aG91Z2ggdGhlcmUgaXMgdXR0ZXJseSBubyB3YXkgZm9yIGl0IHRvIGJlIGNhbGxl -ZCBpbiAgDQo+IHRoYXQgY2FzZS4gSXQgaXMgYW4gYWx0ZXJuYXRpdmUgdG8gI2lmcyBpbiB0aGUg -Y29kZS4NCg0KV2h5IGV2ZW4gaGF2ZSB0aGUgY2FsbCB0aG91Z2g/IEkgd291bGQgd3JhcCBhbGwg -b2YgdGhpcyBpbiBhbiAjaWZkZWYNCmFuZCBzdHJpcCBpdCBvdXQgc2luY2UgeW91IGNvdWxkbid0 -IHN1cHBvcnQgU1ItSU9WIGlmIGl0IGlzbid0IHByZXNlbnQNCmluIHRoZSBrZXJuZWwgYW55d2F5 -Lg== +On Wed, 2018-05-30 at 09:44 -0700, Rustad, Mark D wrote: +> On May 30, 2018, at 9:22 AM, Michael S. Tsirkin <mst@redhat.com> wrote: +> +> > > +static int virtio_pci_sriov_configure(struct pci_dev *pci_dev, int +> > > num_vfs) +> > > +{ +> > > + struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev); +> > > + struct virtio_device *vdev = &vp_dev->vdev; +> > > + int (*sriov_configure)(struct pci_dev *pci_dev, int num_vfs); +> > > + +> > > + if (!(vdev->config->get_status(vdev) & VIRTIO_CONFIG_S_DRIVER_OK)) +> > > + return -EBUSY; +> > > + +> > > + if (!__virtio_test_bit(vdev, VIRTIO_F_SR_IOV)) +> > > + return -EINVAL; +> > > + +> > > + sriov_configure = pci_sriov_configure_simple; +> > > + if (sriov_configure == NULL) +> > > + return -ENOENT; +> > +> > BTW what is all this trickery in aid of? +> +> When SR-IOV support is not compiled into the kernel, +> pci_sriov_configure_simple is #defined as NULL. This allows it to compile +> in that case, even though there is utterly no way for it to be called in +> that case. It is an alternative to #ifs in the code. + +Why even have the call though? I would wrap all of this in an #ifdef +and strip it out since you couldn't support SR-IOV if it isn't present +in the kernel anyway. diff --git a/a/content_digest b/N1/content_digest index f3ff524..182faa0 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -22,28 +22,35 @@ " Zhihong <zhihong.wang@intel.com>\0" "\00:1\0" "b\0" - "T24gV2VkLCAyMDE4LTA1LTMwIGF0IDA5OjQ0IC0wNzAwLCBSdXN0YWQsIE1hcmsgRCB3cm90ZToN\n" - "Cj4gT24gTWF5IDMwLCAyMDE4LCBhdCA5OjIyIEFNLCBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEBy\n" - "ZWRoYXQuY29tPiB3cm90ZToNCj4gDQo+ID4gPiArc3RhdGljIGludCB2aXJ0aW9fcGNpX3NyaW92\n" - "X2NvbmZpZ3VyZShzdHJ1Y3QgcGNpX2RldiAqcGNpX2RldiwgaW50ICANCj4gPiA+IG51bV92ZnMp\n" - "DQo+ID4gPiArew0KPiA+ID4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXZpY2UgKnZwX2RldiA9IHBj\n" - "aV9nZXRfZHJ2ZGF0YShwY2lfZGV2KTsNCj4gPiA+ICsJc3RydWN0IHZpcnRpb19kZXZpY2UgKnZk\n" - "ZXYgPSAmdnBfZGV2LT52ZGV2Ow0KPiA+ID4gKwlpbnQgKCpzcmlvdl9jb25maWd1cmUpKHN0cnVj\n" - "dCBwY2lfZGV2ICpwY2lfZGV2LCBpbnQgbnVtX3Zmcyk7DQo+ID4gPiArDQo+ID4gPiArCWlmICgh\n" - "KHZkZXYtPmNvbmZpZy0+Z2V0X3N0YXR1cyh2ZGV2KSAmIFZJUlRJT19DT05GSUdfU19EUklWRVJf\n" - "T0spKQ0KPiA+ID4gKwkJcmV0dXJuIC1FQlVTWTsNCj4gPiA+ICsNCj4gPiA+ICsJaWYgKCFfX3Zp\n" - "cnRpb190ZXN0X2JpdCh2ZGV2LCBWSVJUSU9fRl9TUl9JT1YpKQ0KPiA+ID4gKwkJcmV0dXJuIC1F\n" - "SU5WQUw7DQo+ID4gPiArDQo+ID4gPiArCXNyaW92X2NvbmZpZ3VyZSA9IHBjaV9zcmlvdl9jb25m\n" - "aWd1cmVfc2ltcGxlOw0KPiA+ID4gKwlpZiAoc3Jpb3ZfY29uZmlndXJlID09IE5VTEwpDQo+ID4g\n" - "PiArCQlyZXR1cm4gLUVOT0VOVDsNCj4gPiANCj4gPiBCVFcgd2hhdCBpcyBhbGwgdGhpcyB0cmlj\n" - "a2VyeSBpbiBhaWQgb2Y/DQo+IA0KPiBXaGVuIFNSLUlPViBzdXBwb3J0IGlzIG5vdCBjb21waWxl\n" - "ZCBpbnRvIHRoZSBrZXJuZWwsICANCj4gcGNpX3NyaW92X2NvbmZpZ3VyZV9zaW1wbGUgaXMgI2Rl\n" - "ZmluZWQgYXMgTlVMTC4gVGhpcyBhbGxvd3MgaXQgdG8gY29tcGlsZSAgDQo+IGluIHRoYXQgY2Fz\n" - "ZSwgZXZlbiB0aG91Z2ggdGhlcmUgaXMgdXR0ZXJseSBubyB3YXkgZm9yIGl0IHRvIGJlIGNhbGxl\n" - "ZCBpbiAgDQo+IHRoYXQgY2FzZS4gSXQgaXMgYW4gYWx0ZXJuYXRpdmUgdG8gI2lmcyBpbiB0aGUg\n" - "Y29kZS4NCg0KV2h5IGV2ZW4gaGF2ZSB0aGUgY2FsbCB0aG91Z2g/IEkgd291bGQgd3JhcCBhbGwg\n" - "b2YgdGhpcyBpbiBhbiAjaWZkZWYNCmFuZCBzdHJpcCBpdCBvdXQgc2luY2UgeW91IGNvdWxkbid0\n" - "IHN1cHBvcnQgU1ItSU9WIGlmIGl0IGlzbid0IHByZXNlbnQNCmluIHRoZSBrZXJuZWwgYW55d2F5\n" - Lg== + "On Wed, 2018-05-30 at 09:44 -0700, Rustad, Mark D wrote:\n" + "> On May 30, 2018, at 9:22 AM, Michael S. Tsirkin <mst@redhat.com> wrote:\n" + "> \n" + "> > > +static int virtio_pci_sriov_configure(struct pci_dev *pci_dev, int \n" + "> > > num_vfs)\n" + "> > > +{\n" + "> > > +\tstruct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev);\n" + "> > > +\tstruct virtio_device *vdev = &vp_dev->vdev;\n" + "> > > +\tint (*sriov_configure)(struct pci_dev *pci_dev, int num_vfs);\n" + "> > > +\n" + "> > > +\tif (!(vdev->config->get_status(vdev) & VIRTIO_CONFIG_S_DRIVER_OK))\n" + "> > > +\t\treturn -EBUSY;\n" + "> > > +\n" + "> > > +\tif (!__virtio_test_bit(vdev, VIRTIO_F_SR_IOV))\n" + "> > > +\t\treturn -EINVAL;\n" + "> > > +\n" + "> > > +\tsriov_configure = pci_sriov_configure_simple;\n" + "> > > +\tif (sriov_configure == NULL)\n" + "> > > +\t\treturn -ENOENT;\n" + "> > \n" + "> > BTW what is all this trickery in aid of?\n" + "> \n" + "> When SR-IOV support is not compiled into the kernel, \n" + "> pci_sriov_configure_simple is #defined as NULL. This allows it to compile \n" + "> in that case, even though there is utterly no way for it to be called in \n" + "> that case. It is an alternative to #ifs in the code.\n" + "\n" + "Why even have the call though? I would wrap all of this in an #ifdef\n" + "and strip it out since you couldn't support SR-IOV if it isn't present\n" + in the kernel anyway. -9abf0ad165c7d1453096cd498b511d2998905add417d7dea239a3ae16df2132e +86e100a2ad65441571b05f8cc00e9d8fefd0dbb94aba8668f64c258a239d250e
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.