linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] PCI BUS domain ID corruption
       [not found] ` <DM5PR21MB0826C68DB09C3856F9078931F6DF0@DM5PR21MB0826.namprd21.prod.outlook.com>
@ 2018-03-08 21:40   ` Bjorn Helgaas
  2018-03-08 21:58     ` Sridhar Pitchai
  0 siblings, 1 reply; 2+ messages in thread
From: Bjorn Helgaas @ 2018-03-08 21:40 UTC (permalink / raw)
  To: Sridhar Pitchai
  Cc: Jake Oshins, Haiyang Zhang, Stephen Hemminger, Dexuan Cui,
	KY Srinivasan, David Davis, devel, linux-pci, linux-kernel,
	Lorenzo Pieralisi

[+cc Lorenzo]

On Thu, Mar 8, 2018 at 12:55 PM, Sridhar Pitchai
<Sridhar.Pitchai@microsoft.com> wrote:
> Hi,
>
> I would like to submit the following patch. This patch addresses the issue
> when we try to add a VMBUS, the domain ID for the PCI bus is overwritten.

Hi Sridhar,

Thanks for the patch!

This area is maintained by Lorenzo now (cc'd), so please copy him on
the next round.

We can't apply it as-is because it contains no Signed-off-by (see
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst).

This email is also too fancy (HTML, etc) and I think will be rejected
by the mailing lists (see
http://vger.kernel.org/majordomo-info.html#taboo).  What you want is a
plain-text email.

Please also run "git log drivers/pci/host/pci-hyperv.c" and make your
subject and changelog match the format and style of previous patches.

It looks like this basically reverts 4a9b0933bdfc ("PCI: hv: Use
device serial number as PCI domain"), so you should explain what was
wrong with that commit.

Also, it doesn't look like this would apply cleanly to v4.16-rc1.
Your patch shows this:

 -               hbus->sysdata.domain = desc->ser & 0xFFFF;

but v4.16-rc1 has this:

                hbus->sysdata.domain = desc->ser;

Bjorn

> srpitcha@ linux srpitcha/patch >cat 0001-PCI-BUS-domain-ID-curruption.patch
>
> From a0c407f3e2d57c84ac349f064dcee1d2961e5ca3 Mon Sep 17 00:00:00 2001
>
> From: Sridhar Pitchai <sridhar.pitchai@gmail.com>
>
> Date: Thu, 8 Mar 2018 12:33:50 -0800
>
> Subject: [PATCH] PCI BUS domain ID corruption
>
>
>
>     When PCI BUS is added, PCI_BUS domain ID is set. When PCI_BUS and device
> to
>
>     the bus is racing against each other, the first device tends to
> overwrite
>
>     the domain ID. In order to avoid the race, this patch make sure when a
>
>     device is added to a bus it never updates the bus domain ID. Since we
> have
>
>     the transparent SRIOV mode now, the short VF device name is no longer
>
>     needed.
>
>
>
> diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c
>
> index 1713bfc..6d43f81 100644
>
> --- a/drivers/pci/host/pci-hyperv.c
>
> +++ b/drivers/pci/host/pci-hyperv.c
>
> @@ -1321,19 +1321,6 @@ static struct hv_pci_dev *new_pcichild_device(struct
> hv_pcibus_device *hbus,
>
>         get_pcichild(hpdev, hv_pcidev_ref_childlist);
>
>         spin_lock_irqsave(&hbus->device_list_lock, flags);
>
>
>
> -       /*
>
> -        * When a device is being added to the bus, we set the PCI domain
>
> -        * number to be the device serial number, which is non-zero and
>
> -        * unique on the same VM.  The serial numbers start with 1, and
>
> -        * increase by 1 for each device.  So device names including this
>
> -        * can have shorter names than based on the bus instance UUID.
>
> -        * Only the first device serial number is used for domain, so the
>
> -        * domain number will not change after the first device is added.
>
> -        * The lower 16 bits of the serial number is used, otherwise some
>
> -        * drivers may not be able to handle it.
>
> -        */
>
> -       if (list_empty(&hbus->children))
>
> -               hbus->sysdata.domain = desc->ser & 0xFFFF;
>
>         list_add_tail(&hpdev->list_entry, &hbus->children);
>
>         spin_unlock_irqrestore(&hbus->device_list_lock, flags);
>
>         return hpdev;
>
> --
>
> 2.7.4
>
>
>
> srpitcha@ linux srpitcha/patch >

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

* RE: [PATCH] PCI BUS domain ID corruption
  2018-03-08 21:40   ` [PATCH] PCI BUS domain ID corruption Bjorn Helgaas
@ 2018-03-08 21:58     ` Sridhar Pitchai
  0 siblings, 0 replies; 2+ messages in thread
From: Sridhar Pitchai @ 2018-03-08 21:58 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Jake Oshins, Haiyang Zhang, Stephen Hemminger, Dexuan Cui,
	KY Srinivasan, David Davis, devel, linux-pci, linux-kernel,
	Lorenzo Pieralisi

VGhhbmtzIEJqb3JuLA0KSSB3aWxsIHNlbmQgYW5vdGhlciBtYWlsLCB3aXRoIA0KMTogdGhlIHBh
dGNoIGFwcGxpZWQgdG8gNC4xNi4gDQoyOiBJIHdpbGwgc2VuZCBhIHRleHQgbWFpbCAoaW5zdGVh
ZCBvZiBIVE1MKS4gDQozOiBhZGQgU2lnbmVkLW9mZi1ieToNCg0KVGhhbmtzIGZvciB5b3VyIGhl
bHAuDQoNClRoYW5rcywNClNyaWRoYXIgUGl0Y2hhaQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KRnJvbTogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4gDQpTZW50OiBU
aHVyc2RheSwgTWFyY2ggOCwgMjAxOCAxOjQwIFBNDQpUbzogU3JpZGhhciBQaXRjaGFpIDxTcmlk
aGFyLlBpdGNoYWlAbWljcm9zb2Z0LmNvbT4NCkNjOiBKYWtlIE9zaGlucyA8amFrZW9AbWljcm9z
b2Z0LmNvbT47IEhhaXlhbmcgWmhhbmcgPGhhaXlhbmd6QG1pY3Jvc29mdC5jb20+OyBTdGVwaGVu
IEhlbW1pbmdlciA8c3RoZW1taW5AbWljcm9zb2Z0LmNvbT47IERleHVhbiBDdWkgPGRlY3VpQG1p
Y3Jvc29mdC5jb20+OyBLWSBTcmluaXZhc2FuIDxreXNAbWljcm9zb2Z0LmNvbT47IERhdmlkIERh
dmlzIDxEYXZpZC5EYXZpc0BtaWNyb3NvZnQuY29tPjsgZGV2ZWxAbGludXhkcml2ZXJwcm9qZWN0
Lm9yZzsgbGludXgtcGNpQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVs
Lm9yZzsgTG9yZW56byBQaWVyYWxpc2kgPGxvcmVuem8ucGllcmFsaXNpQGFybS5jb20+DQpTdWJq
ZWN0OiBSZTogW1BBVENIXSBQQ0kgQlVTIGRvbWFpbiBJRCBjb3JydXB0aW9uDQoNClsrY2MgTG9y
ZW56b10NCg0KT24gVGh1LCBNYXIgOCwgMjAxOCBhdCAxMjo1NSBQTSwgU3JpZGhhciBQaXRjaGFp
IDxTcmlkaGFyLlBpdGNoYWlAbWljcm9zb2Z0LmNvbT4gd3JvdGU6DQo+IEhpLA0KPg0KPiBJIHdv
dWxkIGxpa2UgdG8gc3VibWl0IHRoZSBmb2xsb3dpbmcgcGF0Y2guIFRoaXMgcGF0Y2ggYWRkcmVz
c2VzIHRoZSANCj4gaXNzdWUgd2hlbiB3ZSB0cnkgdG8gYWRkIGEgVk1CVVMsIHRoZSBkb21haW4g
SUQgZm9yIHRoZSBQQ0kgYnVzIGlzIG92ZXJ3cml0dGVuLg0KDQpIaSBTcmlkaGFyLA0KDQpUaGFu
a3MgZm9yIHRoZSBwYXRjaCENCg0KVGhpcyBhcmVhIGlzIG1haW50YWluZWQgYnkgTG9yZW56byBu
b3cgKGNjJ2QpLCBzbyBwbGVhc2UgY29weSBoaW0gb24gdGhlIG5leHQgcm91bmQuDQoNCldlIGNh
bid0IGFwcGx5IGl0IGFzLWlzIGJlY2F1c2UgaXQgY29udGFpbnMgbm8gU2lnbmVkLW9mZi1ieSAo
c2VlIGh0dHBzOi8vbmEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0
dHBzJTNBJTJGJTJGZ2l0Lmtlcm5lbC5vcmclMkZwdWIlMkZzY20lMkZsaW51eCUyRmtlcm5lbCUy
RmdpdCUyRnRvcnZhbGRzJTJGbGludXguZ2l0JTJGdHJlZSUyRkRvY3VtZW50YXRpb24lMkZwcm9j
ZXNzJTJGc3VibWl0dGluZy1wYXRjaGVzLnJzdCZkYXRhPTA0JTdDMDElN0NTcmlkaGFyLlBpdGNo
YWklNDBtaWNyb3NvZnQuY29tJTdDOTljOTBlYzk2YTU0NGQ5ZGVkZDgwOGQ1ODUzZDMzZmYlN0M3
MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzElN0MwJTdDNjM2NTYxNDIwMjcxNjMx
MDEwJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lW
Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lmUSUzRCUzRCU3Qy0yJnNkYXRhPTF6Y2dMNlpLN0Z3Rmth
M3glMkZBd0pKbkxNT1FHNWtRRDBlUTFVZ3VTamlDQSUzRCZyZXNlcnZlZD0wKS4NCg0KVGhpcyBl
bWFpbCBpcyBhbHNvIHRvbyBmYW5jeSAoSFRNTCwgZXRjKSBhbmQgSSB0aGluayB3aWxsIGJlIHJl
amVjdGVkIGJ5IHRoZSBtYWlsaW5nIGxpc3RzIChzZWUgaHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5w
cm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRnZnZXIua2VybmVsLm9yZyUy
Rm1ham9yZG9tby1pbmZvLmh0bWwlMjN0YWJvbyZkYXRhPTA0JTdDMDElN0NTcmlkaGFyLlBpdGNo
YWklNDBtaWNyb3NvZnQuY29tJTdDOTljOTBlYzk2YTU0NGQ5ZGVkZDgwOGQ1ODUzZDMzZmYlN0M3
MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzElN0MwJTdDNjM2NTYxNDIwMjcxNjMx
MDEwJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lW
Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lmUSUzRCUzRCU3Qy0yJnNkYXRhPWljR1lKaHpvUkolMkJ3
NHhaUEdydHJ2RFklMkJjTkR5czFIRGxsVjRBZ3oxMXJvJTNEJnJlc2VydmVkPTApLiAgV2hhdCB5
b3Ugd2FudCBpcyBhIHBsYWluLXRleHQgZW1haWwuDQoNClBsZWFzZSBhbHNvIHJ1biAiZ2l0IGxv
ZyBkcml2ZXJzL3BjaS9ob3N0L3BjaS1oeXBlcnYuYyIgYW5kIG1ha2UgeW91ciBzdWJqZWN0IGFu
ZCBjaGFuZ2Vsb2cgbWF0Y2ggdGhlIGZvcm1hdCBhbmQgc3R5bGUgb2YgcHJldmlvdXMgcGF0Y2hl
cy4NCg0KSXQgbG9va3MgbGlrZSB0aGlzIGJhc2ljYWxseSByZXZlcnRzIDRhOWIwOTMzYmRmYyAo
IlBDSTogaHY6IFVzZSBkZXZpY2Ugc2VyaWFsIG51bWJlciBhcyBQQ0kgZG9tYWluIiksIHNvIHlv
dSBzaG91bGQgZXhwbGFpbiB3aGF0IHdhcyB3cm9uZyB3aXRoIHRoYXQgY29tbWl0Lg0KDQpBbHNv
LCBpdCBkb2Vzbid0IGxvb2sgbGlrZSB0aGlzIHdvdWxkIGFwcGx5IGNsZWFubHkgdG8gdjQuMTYt
cmMxLg0KWW91ciBwYXRjaCBzaG93cyB0aGlzOg0KDQogLSAgICAgICAgICAgICAgIGhidXMtPnN5
c2RhdGEuZG9tYWluID0gZGVzYy0+c2VyICYgMHhGRkZGOw0KDQpidXQgdjQuMTYtcmMxIGhhcyB0
aGlzOg0KDQogICAgICAgICAgICAgICAgaGJ1cy0+c3lzZGF0YS5kb21haW4gPSBkZXNjLT5zZXI7
DQoNCkJqb3JuDQoNCj4gc3JwaXRjaGFAIGxpbnV4IHNycGl0Y2hhL3BhdGNoID5jYXQgDQo+IDAw
MDEtUENJLUJVUy1kb21haW4tSUQtY3VycnVwdGlvbi5wYXRjaA0KPg0KPiBGcm9tIGEwYzQwN2Yz
ZTJkNTdjODRhYzM0OWYwNjRkY2VlMWQyOTYxZTVjYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx
DQo+DQo+IEZyb206IFNyaWRoYXIgUGl0Y2hhaSA8c3JpZGhhci5waXRjaGFpQGdtYWlsLmNvbT4N
Cj4NCj4gRGF0ZTogVGh1LCA4IE1hciAyMDE4IDEyOjMzOjUwIC0wODAwDQo+DQo+IFN1YmplY3Q6
IFtQQVRDSF0gUENJIEJVUyBkb21haW4gSUQgY29ycnVwdGlvbg0KPg0KPg0KPg0KPiAgICAgV2hl
biBQQ0kgQlVTIGlzIGFkZGVkLCBQQ0lfQlVTIGRvbWFpbiBJRCBpcyBzZXQuIFdoZW4gUENJX0JV
UyBhbmQgDQo+IGRldmljZSB0bw0KPg0KPiAgICAgdGhlIGJ1cyBpcyByYWNpbmcgYWdhaW5zdCBl
YWNoIG90aGVyLCB0aGUgZmlyc3QgZGV2aWNlIHRlbmRzIHRvIA0KPiBvdmVyd3JpdGUNCj4NCj4g
ICAgIHRoZSBkb21haW4gSUQuIEluIG9yZGVyIHRvIGF2b2lkIHRoZSByYWNlLCB0aGlzIHBhdGNo
IG1ha2Ugc3VyZSANCj4gd2hlbiBhDQo+DQo+ICAgICBkZXZpY2UgaXMgYWRkZWQgdG8gYSBidXMg
aXQgbmV2ZXIgdXBkYXRlcyB0aGUgYnVzIGRvbWFpbiBJRC4gU2luY2UgDQo+IHdlIGhhdmUNCj4N
Cj4gICAgIHRoZSB0cmFuc3BhcmVudCBTUklPViBtb2RlIG5vdywgdGhlIHNob3J0IFZGIGRldmlj
ZSBuYW1lIGlzIG5vIA0KPiBsb25nZXINCj4NCj4gICAgIG5lZWRlZC4NCj4NCj4NCj4NCj4gZGlm
ZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2hvc3QvcGNpLWh5cGVydi5jIA0KPiBiL2RyaXZlcnMvcGNp
L2hvc3QvcGNpLWh5cGVydi5jDQo+DQo+IGluZGV4IDE3MTNiZmMuLjZkNDNmODEgMTAwNjQ0DQo+
DQo+IC0tLSBhL2RyaXZlcnMvcGNpL2hvc3QvcGNpLWh5cGVydi5jDQo+DQo+ICsrKyBiL2RyaXZl
cnMvcGNpL2hvc3QvcGNpLWh5cGVydi5jDQo+DQo+IEBAIC0xMzIxLDE5ICsxMzIxLDYgQEAgc3Rh
dGljIHN0cnVjdCBodl9wY2lfZGV2IA0KPiAqbmV3X3BjaWNoaWxkX2RldmljZShzdHJ1Y3QgaHZf
cGNpYnVzX2RldmljZSAqaGJ1cywNCj4NCj4gICAgICAgICBnZXRfcGNpY2hpbGQoaHBkZXYsIGh2
X3BjaWRldl9yZWZfY2hpbGRsaXN0KTsNCj4NCj4gICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgm
aGJ1cy0+ZGV2aWNlX2xpc3RfbG9jaywgZmxhZ3MpOw0KPg0KPg0KPg0KPiAtICAgICAgIC8qDQo+
DQo+IC0gICAgICAgICogV2hlbiBhIGRldmljZSBpcyBiZWluZyBhZGRlZCB0byB0aGUgYnVzLCB3
ZSBzZXQgdGhlIFBDSSBkb21haW4NCj4NCj4gLSAgICAgICAgKiBudW1iZXIgdG8gYmUgdGhlIGRl
dmljZSBzZXJpYWwgbnVtYmVyLCB3aGljaCBpcyBub24temVybyBhbmQNCj4NCj4gLSAgICAgICAg
KiB1bmlxdWUgb24gdGhlIHNhbWUgVk0uICBUaGUgc2VyaWFsIG51bWJlcnMgc3RhcnQgd2l0aCAx
LCBhbmQNCj4NCj4gLSAgICAgICAgKiBpbmNyZWFzZSBieSAxIGZvciBlYWNoIGRldmljZS4gIFNv
IGRldmljZSBuYW1lcyBpbmNsdWRpbmcgdGhpcw0KPg0KPiAtICAgICAgICAqIGNhbiBoYXZlIHNo
b3J0ZXIgbmFtZXMgdGhhbiBiYXNlZCBvbiB0aGUgYnVzIGluc3RhbmNlIFVVSUQuDQo+DQo+IC0g
ICAgICAgICogT25seSB0aGUgZmlyc3QgZGV2aWNlIHNlcmlhbCBudW1iZXIgaXMgdXNlZCBmb3Ig
ZG9tYWluLCBzbyB0aGUNCj4NCj4gLSAgICAgICAgKiBkb21haW4gbnVtYmVyIHdpbGwgbm90IGNo
YW5nZSBhZnRlciB0aGUgZmlyc3QgZGV2aWNlIGlzIGFkZGVkLg0KPg0KPiAtICAgICAgICAqIFRo
ZSBsb3dlciAxNiBiaXRzIG9mIHRoZSBzZXJpYWwgbnVtYmVyIGlzIHVzZWQsIG90aGVyd2lzZSBz
b21lDQo+DQo+IC0gICAgICAgICogZHJpdmVycyBtYXkgbm90IGJlIGFibGUgdG8gaGFuZGxlIGl0
Lg0KPg0KPiAtICAgICAgICAqLw0KPg0KPiAtICAgICAgIGlmIChsaXN0X2VtcHR5KCZoYnVzLT5j
aGlsZHJlbikpDQo+DQo+IC0gICAgICAgICAgICAgICBoYnVzLT5zeXNkYXRhLmRvbWFpbiA9IGRl
c2MtPnNlciAmIDB4RkZGRjsNCj4NCj4gICAgICAgICBsaXN0X2FkZF90YWlsKCZocGRldi0+bGlz
dF9lbnRyeSwgJmhidXMtPmNoaWxkcmVuKTsNCj4NCj4gICAgICAgICBzcGluX3VubG9ja19pcnFy
ZXN0b3JlKCZoYnVzLT5kZXZpY2VfbGlzdF9sb2NrLCBmbGFncyk7DQo+DQo+ICAgICAgICAgcmV0
dXJuIGhwZGV2Ow0KPg0KPiAtLQ0KPg0KPiAyLjcuNA0KPg0KPg0KPg0KPiBzcnBpdGNoYUAgbGlu
dXggc3JwaXRjaGEvcGF0Y2ggPg0K

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

end of thread, other threads:[~2018-03-08 21:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <DM5PR21MB0826CE724BFB0C2A9AB96014F6DF0@DM5PR21MB0826.namprd21.prod.outlook.com>
     [not found] ` <DM5PR21MB0826C68DB09C3856F9078931F6DF0@DM5PR21MB0826.namprd21.prod.outlook.com>
2018-03-08 21:40   ` [PATCH] PCI BUS domain ID corruption Bjorn Helgaas
2018-03-08 21:58     ` Sridhar Pitchai

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