All of lore.kernel.org
 help / color / mirror / Atom feed
* Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
@ 2015-04-27 15:48 Sander Eikelenboom
  2015-05-04 22:18 ` Sander Eikelenboom
  0 siblings, 1 reply; 30+ messages in thread
From: Sander Eikelenboom @ 2015-04-27 15:48 UTC (permalink / raw)
  To: David Vrabel, Konrad Rzeszutek Wilk; +Cc: xen-devel

Hi David / Konrad,

Here the other problem i found, which is introduced somewhere in the 
4.1 mergewindow:

on 4.1.0-rc1 (with the one revert to get things booting) i get this in
the PV Guest console:

[    0.517392] crc32c_combine: 8373 self tests passed
[    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
[    0.517684] cpcihp_generic: not configured, disabling.
[    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
[    0.519849] usbcore: registered new interface driver udlfb
[    0.613289] xen:xen_evtchn: Event-channel device installed
[    0.613436] pcifront pci-0: Installing PCI frontend
[    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.616672] pcifront pci-0: pciback not responding!!!
[    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
[    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.614682] Linux agpgart interface v0.103
[    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    2.614762] [drm] Initialized drm 1.1.0 20060810
[    2.614789] [drm] radeon kernel modesetting enabled.
[    2.616529] brd: module loaded
[    2.617844] loop: module loaded
[    2.620008] pcifront pci-0: pciback not responding!!!
[    4.621490] pcifront pci-0: pciback not responding!!!
[    6.621866] pcifront pci-0: pciback not responding!!!
[    8.622421] pcifront pci-0: pciback not responding!!!
etc. etc. etc.


Where on 4.0.0 it get:

[    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
[    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
[    0.444885] pcifront pci-0: publishing successful!
[    0.445302] usbcore: registered new interface driver udlfb
[    0.445829] xen:xen_evtchn: Event-channel device installed
[    0.446499] pcifront pci-0: Installing PCI frontend
[    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.447002] pci_bus 0000:00: scanning bus
[    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
[    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
[    0.449148] pci 0000:00:00.0: supports D1 D2
[    0.449791] pci_bus 0000:00: fixups for bus
[    0.449794] pci_bus 0000:00: bus scan returning with max=00
[    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.451991] Linux agpgart interface v0.103
[    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.452222] [drm] Initialized drm 1.1.0 20060810
[    0.452300] [drm] radeon kernel modesetting enabled.
[    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0

But i thought the patches that would change pci bus scanning were destined for 
4.2 though ...

--
Sander

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

* Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-04-27 15:48 Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!! Sander Eikelenboom
@ 2015-05-04 22:18 ` Sander Eikelenboom
  2015-05-05 10:25   ` David Vrabel
                     ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-04 22:18 UTC (permalink / raw)
  To: David Vrabel, Konrad Rzeszutek Wilk; +Cc: xen-devel

Hello Sander,

Monday, April 27, 2015, 5:48:00 PM, you wrote:

> Hi David / Konrad,

> Here the other problem i found, which is introduced somewhere in the 
> 4.1 mergewindow:

> on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> the PV Guest console:

> [    0.517392] crc32c_combine: 8373 self tests passed
> [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> [    0.517684] cpcihp_generic: not configured, disabling.
> [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> [    0.519849] usbcore: registered new interface driver udlfb
> [    0.613289] xen:xen_evtchn: Event-channel device installed
> [    0.613436] pcifront pci-0: Installing PCI frontend
> [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.616672] pcifront pci-0: pciback not responding!!!
> [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    2.614682] Linux agpgart interface v0.103
> [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> [    2.614762] [drm] Initialized drm 1.1.0 20060810
> [    2.614789] [drm] radeon kernel modesetting enabled.
> [    2.616529] brd: module loaded
> [    2.617844] loop: module loaded
> [    2.620008] pcifront pci-0: pciback not responding!!!
> [    4.621490] pcifront pci-0: pciback not responding!!!
> [    6.621866] pcifront pci-0: pciback not responding!!!
> [    8.622421] pcifront pci-0: pciback not responding!!!
> etc. etc. etc.


> Where on 4.0.0 it get:

> [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> [    0.444885] pcifront pci-0: publishing successful!
> [    0.445302] usbcore: registered new interface driver udlfb
> [    0.445829] xen:xen_evtchn: Event-channel device installed
> [    0.446499] pcifront pci-0: Installing PCI frontend
> [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.447002] pci_bus 0000:00: scanning bus
> [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> [    0.449148] pci 0000:00:00.0: supports D1 D2
> [    0.449791] pci_bus 0000:00: fixups for bus
> [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.451991] Linux agpgart interface v0.103
> [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> [    0.452222] [drm] Initialized drm 1.1.0 20060810
> [    0.452300] [drm] radeon kernel modesetting enabled.
> [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0

> But i thought the patches that would change pci bus scanning were destined for 
> 4.2 though ...

> --
> Sander

Hi David / Konrad,

I have bisected this one .. it leads to:

commit 97badf873ab60e841243b66133ff9eff2a46ef29
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Fri Apr 3 23:23:37 2015 +0200

device property: Make it possible to use secondary firmware nodes

Since i didn't see it directly related to pci-front, i double checked by 
reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
build depends on the other) on 4.1-rc2.

Reverting in the guest kernel indeed makes pci-front work correct again.

--
Sander

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

* Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-04 22:18 ` Sander Eikelenboom
@ 2015-05-05 10:25   ` David Vrabel
  2015-05-11 15:20   ` Regression due to "device property: Make it possible to use secondary firmware nodes" " Konrad Rzeszutek Wilk
  2015-05-11 15:20   ` Konrad Rzeszutek Wilk
  2 siblings, 0 replies; 30+ messages in thread
From: David Vrabel @ 2015-05-05 10:25 UTC (permalink / raw)
  To: Sander Eikelenboom, David Vrabel, Konrad Rzeszutek Wilk; +Cc: xen-devel

On 04/05/15 23:18, Sander Eikelenboom wrote:
> Hello Sander,
> 
> Monday, April 27, 2015, 5:48:00 PM, you wrote:
> 
>> Hi David / Konrad,
> 
>> Here the other problem i found, which is introduced somewhere in the 
>> 4.1 mergewindow:
> 
>> on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> the PV Guest console:
> 
>> [    0.517392] crc32c_combine: 8373 self tests passed
>> [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> [    0.517684] cpcihp_generic: not configured, disabling.
>> [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> [    0.519849] usbcore: registered new interface driver udlfb
>> [    0.613289] xen:xen_evtchn: Event-channel device installed
>> [    0.613436] pcifront pci-0: Installing PCI frontend
>> [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> [    0.616672] pcifront pci-0: pciback not responding!!!
>> [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> [    2.614682] Linux agpgart interface v0.103
>> [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> [    2.614789] [drm] radeon kernel modesetting enabled.
>> [    2.616529] brd: module loaded
>> [    2.617844] loop: module loaded
>> [    2.620008] pcifront pci-0: pciback not responding!!!
>> [    4.621490] pcifront pci-0: pciback not responding!!!
>> [    6.621866] pcifront pci-0: pciback not responding!!!
>> [    8.622421] pcifront pci-0: pciback not responding!!!
>> etc. etc. etc.
> 
> 
>> Where on 4.0.0 it get:
> 
>> [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> [    0.444885] pcifront pci-0: publishing successful!
>> [    0.445302] usbcore: registered new interface driver udlfb
>> [    0.445829] xen:xen_evtchn: Event-channel device installed
>> [    0.446499] pcifront pci-0: Installing PCI frontend
>> [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> [    0.447002] pci_bus 0000:00: scanning bus
>> [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> [    0.449148] pci 0000:00:00.0: supports D1 D2
>> [    0.449791] pci_bus 0000:00: fixups for bus
>> [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> [    0.451991] Linux agpgart interface v0.103
>> [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> [    0.452300] [drm] radeon kernel modesetting enabled.
>> [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> 
>> But i thought the patches that would change pci bus scanning were destined for 
>> 4.2 though ...
> 
>> --
>> Sander
> 
> Hi David / Konrad,
> 
> I have bisected this one .. it leads to:
> 
> commit 97badf873ab60e841243b66133ff9eff2a46ef29
> Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Date:   Fri Apr 3 23:23:37 2015 +0200
> 
> device property: Make it possible to use secondary firmware nodes
> 
> Since i didn't see it directly related to pci-front, i double checked by 
> reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> build depends on the other) on 4.1-rc2.
> 
> Reverting in the guest kernel indeed makes pci-front work correct again.

Um?  That really doesn't make sense to me. Konrad, any ideas?

David

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

* Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-04 22:18 ` Sander Eikelenboom
  2015-05-05 10:25   ` David Vrabel
@ 2015-05-11 15:20   ` Konrad Rzeszutek Wilk
  2015-05-12  0:59       ` Rafael J. Wysocki
  2015-05-12  0:59     ` Rafael J. Wysocki
  2015-05-11 15:20   ` Konrad Rzeszutek Wilk
  2 siblings, 2 replies; 30+ messages in thread
From: Konrad Rzeszutek Wilk @ 2015-05-11 15:20 UTC (permalink / raw)
  To: Sander Eikelenboom, rafael.j.wysocki, linux-acpi
  Cc: David Vrabel, xen-devel, linux-kernel

On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> Hello Sander,
> 
> Monday, April 27, 2015, 5:48:00 PM, you wrote:
> 
> > Hi David / Konrad,
> 
> > Here the other problem i found, which is introduced somewhere in the 
> > 4.1 mergewindow:
> 
> > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > the PV Guest console:
> 
> > [    0.517392] crc32c_combine: 8373 self tests passed
> > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > [    0.517684] cpcihp_generic: not configured, disabling.
> > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > [    0.519849] usbcore: registered new interface driver udlfb
> > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > [    0.613436] pcifront pci-0: Installing PCI frontend
> > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > [    0.616672] pcifront pci-0: pciback not responding!!!
> > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > [    2.614682] Linux agpgart interface v0.103
> > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > [    2.614789] [drm] radeon kernel modesetting enabled.
> > [    2.616529] brd: module loaded
> > [    2.617844] loop: module loaded
> > [    2.620008] pcifront pci-0: pciback not responding!!!
> > [    4.621490] pcifront pci-0: pciback not responding!!!
> > [    6.621866] pcifront pci-0: pciback not responding!!!
> > [    8.622421] pcifront pci-0: pciback not responding!!!
> > etc. etc. etc.
> 
> 
> > Where on 4.0.0 it get:
> 
> > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > [    0.444885] pcifront pci-0: publishing successful!
> > [    0.445302] usbcore: registered new interface driver udlfb
> > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > [    0.446499] pcifront pci-0: Installing PCI frontend
> > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > [    0.447002] pci_bus 0000:00: scanning bus
> > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > [    0.449791] pci_bus 0000:00: fixups for bus
> > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > [    0.451991] Linux agpgart interface v0.103
> > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > [    0.452300] [drm] radeon kernel modesetting enabled.
> > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> 
> > But i thought the patches that would change pci bus scanning were destined for 
> > 4.2 though ...
> 
> > --
> > Sander
> 
> Hi David / Konrad,
> 
> I have bisected this one .. it leads to:
> 
> commit 97badf873ab60e841243b66133ff9eff2a46ef29
> Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Date:   Fri Apr 3 23:23:37 2015 +0200
> 
> device property: Make it possible to use secondary firmware nodes
> 
> Since i didn't see it directly related to pci-front, i double checked by 
> reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> build depends on the other) on 4.1-rc2.
> 
> Reverting in the guest kernel indeed makes pci-front work correct again.

That is quite odd. And sadly I am due for vacation at the end of this week
so own't be able to look at this (and prepare an debug patch for the MSI
addendum debug patch either).


Rafael,

Were there any other bug reports about this particular commit?

Thank you!

> 
> --
> Sander
> 

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

* Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-04 22:18 ` Sander Eikelenboom
  2015-05-05 10:25   ` David Vrabel
  2015-05-11 15:20   ` Regression due to "device property: Make it possible to use secondary firmware nodes" " Konrad Rzeszutek Wilk
@ 2015-05-11 15:20   ` Konrad Rzeszutek Wilk
  2 siblings, 0 replies; 30+ messages in thread
From: Konrad Rzeszutek Wilk @ 2015-05-11 15:20 UTC (permalink / raw)
  To: Sander Eikelenboom, rafael.j.wysocki, linux-acpi
  Cc: xen-devel, David Vrabel, linux-kernel

On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> Hello Sander,
> 
> Monday, April 27, 2015, 5:48:00 PM, you wrote:
> 
> > Hi David / Konrad,
> 
> > Here the other problem i found, which is introduced somewhere in the 
> > 4.1 mergewindow:
> 
> > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > the PV Guest console:
> 
> > [    0.517392] crc32c_combine: 8373 self tests passed
> > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > [    0.517684] cpcihp_generic: not configured, disabling.
> > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > [    0.519849] usbcore: registered new interface driver udlfb
> > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > [    0.613436] pcifront pci-0: Installing PCI frontend
> > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > [    0.616672] pcifront pci-0: pciback not responding!!!
> > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > [    2.614682] Linux agpgart interface v0.103
> > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > [    2.614789] [drm] radeon kernel modesetting enabled.
> > [    2.616529] brd: module loaded
> > [    2.617844] loop: module loaded
> > [    2.620008] pcifront pci-0: pciback not responding!!!
> > [    4.621490] pcifront pci-0: pciback not responding!!!
> > [    6.621866] pcifront pci-0: pciback not responding!!!
> > [    8.622421] pcifront pci-0: pciback not responding!!!
> > etc. etc. etc.
> 
> 
> > Where on 4.0.0 it get:
> 
> > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > [    0.444885] pcifront pci-0: publishing successful!
> > [    0.445302] usbcore: registered new interface driver udlfb
> > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > [    0.446499] pcifront pci-0: Installing PCI frontend
> > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > [    0.447002] pci_bus 0000:00: scanning bus
> > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > [    0.449791] pci_bus 0000:00: fixups for bus
> > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > [    0.451991] Linux agpgart interface v0.103
> > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > [    0.452300] [drm] radeon kernel modesetting enabled.
> > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> 
> > But i thought the patches that would change pci bus scanning were destined for 
> > 4.2 though ...
> 
> > --
> > Sander
> 
> Hi David / Konrad,
> 
> I have bisected this one .. it leads to:
> 
> commit 97badf873ab60e841243b66133ff9eff2a46ef29
> Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Date:   Fri Apr 3 23:23:37 2015 +0200
> 
> device property: Make it possible to use secondary firmware nodes
> 
> Since i didn't see it directly related to pci-front, i double checked by 
> reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> build depends on the other) on 4.1-rc2.
> 
> Reverting in the guest kernel indeed makes pci-front work correct again.

That is quite odd. And sadly I am due for vacation at the end of this week
so own't be able to look at this (and prepare an debug patch for the MSI
addendum debug patch either).


Rafael,

Were there any other bug reports about this particular commit?

Thank you!

> 
> --
> Sander
> 

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-11 15:20   ` Regression due to "device property: Make it possible to use secondary firmware nodes" " Konrad Rzeszutek Wilk
@ 2015-05-12  0:59       ` Rafael J. Wysocki
  2015-05-12  0:59     ` Rafael J. Wysocki
  1 sibling, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12  0:59 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Sander Eikelenboom, rafael.j.wysocki, linux-acpi, David Vrabel,
	xen-devel, linux-kernel

On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> > Hello Sander,
> > 
> > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> > 
> > > Hi David / Konrad,
> > 
> > > Here the other problem i found, which is introduced somewhere in the 
> > > 4.1 mergewindow:
> > 
> > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > > the PV Guest console:
> > 
> > > [    0.517392] crc32c_combine: 8373 self tests passed
> > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > > [    0.517684] cpcihp_generic: not configured, disabling.
> > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > [    0.519849] usbcore: registered new interface driver udlfb
> > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > > [    0.613436] pcifront pci-0: Installing PCI frontend
> > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > [    0.616672] pcifront pci-0: pciback not responding!!!
> > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > [    2.614682] Linux agpgart interface v0.103
> > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > > [    2.614789] [drm] radeon kernel modesetting enabled.
> > > [    2.616529] brd: module loaded
> > > [    2.617844] loop: module loaded
> > > [    2.620008] pcifront pci-0: pciback not responding!!!
> > > [    4.621490] pcifront pci-0: pciback not responding!!!
> > > [    6.621866] pcifront pci-0: pciback not responding!!!
> > > [    8.622421] pcifront pci-0: pciback not responding!!!
> > > etc. etc. etc.
> > 
> > 
> > > Where on 4.0.0 it get:
> > 
> > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > > [    0.444885] pcifront pci-0: publishing successful!
> > > [    0.445302] usbcore: registered new interface driver udlfb
> > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > > [    0.446499] pcifront pci-0: Installing PCI frontend
> > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > [    0.447002] pci_bus 0000:00: scanning bus
> > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > > [    0.449791] pci_bus 0000:00: fixups for bus
> > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > [    0.451991] Linux agpgart interface v0.103
> > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > > [    0.452300] [drm] radeon kernel modesetting enabled.
> > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> > 
> > > But i thought the patches that would change pci bus scanning were destined for 
> > > 4.2 though ...
> > 
> > > --
> > > Sander
> > 
> > Hi David / Konrad,
> > 
> > I have bisected this one .. it leads to:
> > 
> > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > Date:   Fri Apr 3 23:23:37 2015 +0200
> > 
> > device property: Make it possible to use secondary firmware nodes
> > 
> > Since i didn't see it directly related to pci-front, i double checked by 
> > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> > build depends on the other) on 4.1-rc2.
> > 
> > Reverting in the guest kernel indeed makes pci-front work correct again.
> 
> That is quite odd.

Yes, that's weird.

> And sadly I am due for vacation at the end of this week
> so own't be able to look at this (and prepare an debug patch for the MSI
> addendum debug patch either).
> 
> 
> Rafael,
> 
> Were there any other bug reports about this particular commit?

Not that I'm aware of.

I'll look at that tomorrow when I'm a bit less tired.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
@ 2015-05-12  0:59       ` Rafael J. Wysocki
  0 siblings, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12  0:59 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Sander Eikelenboom, rafael.j.wysocki, linux-acpi, David Vrabel,
	xen-devel, linux-kernel, ACPI Devel Maling List

On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> > Hello Sander,
> > 
> > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> > 
> > > Hi David / Konrad,
> > 
> > > Here the other problem i found, which is introduced somewhere in the 
> > > 4.1 mergewindow:
> > 
> > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > > the PV Guest console:
> > 
> > > [    0.517392] crc32c_combine: 8373 self tests passed
> > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > > [    0.517684] cpcihp_generic: not configured, disabling.
> > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > [    0.519849] usbcore: registered new interface driver udlfb
> > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > > [    0.613436] pcifront pci-0: Installing PCI frontend
> > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > [    0.616672] pcifront pci-0: pciback not responding!!!
> > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > [    2.614682] Linux agpgart interface v0.103
> > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > > [    2.614789] [drm] radeon kernel modesetting enabled.
> > > [    2.616529] brd: module loaded
> > > [    2.617844] loop: module loaded
> > > [    2.620008] pcifront pci-0: pciback not responding!!!
> > > [    4.621490] pcifront pci-0: pciback not responding!!!
> > > [    6.621866] pcifront pci-0: pciback not responding!!!
> > > [    8.622421] pcifront pci-0: pciback not responding!!!
> > > etc. etc. etc.
> > 
> > 
> > > Where on 4.0.0 it get:
> > 
> > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > > [    0.444885] pcifront pci-0: publishing successful!
> > > [    0.445302] usbcore: registered new interface driver udlfb
> > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > > [    0.446499] pcifront pci-0: Installing PCI frontend
> > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > [    0.447002] pci_bus 0000:00: scanning bus
> > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > > [    0.449791] pci_bus 0000:00: fixups for bus
> > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > [    0.451991] Linux agpgart interface v0.103
> > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > > [    0.452300] [drm] radeon kernel modesetting enabled.
> > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> > 
> > > But i thought the patches that would change pci bus scanning were destined for 
> > > 4.2 though ...
> > 
> > > --
> > > Sander
> > 
> > Hi David / Konrad,
> > 
> > I have bisected this one .. it leads to:
> > 
> > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > Date:   Fri Apr 3 23:23:37 2015 +0200
> > 
> > device property: Make it possible to use secondary firmware nodes
> > 
> > Since i didn't see it directly related to pci-front, i double checked by 
> > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> > build depends on the other) on 4.1-rc2.
> > 
> > Reverting in the guest kernel indeed makes pci-front work correct again.
> 
> That is quite odd.

Yes, that's weird.

> And sadly I am due for vacation at the end of this week
> so own't be able to look at this (and prepare an debug patch for the MSI
> addendum debug patch either).
> 
> 
> Rafael,
> 
> Were there any other bug reports about this particular commit?

Not that I'm aware of.

I'll look at that tomorrow when I'm a bit less tired.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-11 15:20   ` Regression due to "device property: Make it possible to use secondary firmware nodes" " Konrad Rzeszutek Wilk
  2015-05-12  0:59       ` Rafael J. Wysocki
@ 2015-05-12  0:59     ` Rafael J. Wysocki
  1 sibling, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12  0:59 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: ACPI Devel Maling List, rafael.j.wysocki, linux-kernel,
	Sander Eikelenboom, David Vrabel, xen-devel

On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> > Hello Sander,
> > 
> > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> > 
> > > Hi David / Konrad,
> > 
> > > Here the other problem i found, which is introduced somewhere in the 
> > > 4.1 mergewindow:
> > 
> > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > > the PV Guest console:
> > 
> > > [    0.517392] crc32c_combine: 8373 self tests passed
> > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > > [    0.517684] cpcihp_generic: not configured, disabling.
> > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > [    0.519849] usbcore: registered new interface driver udlfb
> > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > > [    0.613436] pcifront pci-0: Installing PCI frontend
> > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > [    0.616672] pcifront pci-0: pciback not responding!!!
> > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > [    2.614682] Linux agpgart interface v0.103
> > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > > [    2.614789] [drm] radeon kernel modesetting enabled.
> > > [    2.616529] brd: module loaded
> > > [    2.617844] loop: module loaded
> > > [    2.620008] pcifront pci-0: pciback not responding!!!
> > > [    4.621490] pcifront pci-0: pciback not responding!!!
> > > [    6.621866] pcifront pci-0: pciback not responding!!!
> > > [    8.622421] pcifront pci-0: pciback not responding!!!
> > > etc. etc. etc.
> > 
> > 
> > > Where on 4.0.0 it get:
> > 
> > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > > [    0.444885] pcifront pci-0: publishing successful!
> > > [    0.445302] usbcore: registered new interface driver udlfb
> > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > > [    0.446499] pcifront pci-0: Installing PCI frontend
> > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > [    0.447002] pci_bus 0000:00: scanning bus
> > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > > [    0.449791] pci_bus 0000:00: fixups for bus
> > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > [    0.451991] Linux agpgart interface v0.103
> > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > > [    0.452300] [drm] radeon kernel modesetting enabled.
> > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> > 
> > > But i thought the patches that would change pci bus scanning were destined for 
> > > 4.2 though ...
> > 
> > > --
> > > Sander
> > 
> > Hi David / Konrad,
> > 
> > I have bisected this one .. it leads to:
> > 
> > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > Date:   Fri Apr 3 23:23:37 2015 +0200
> > 
> > device property: Make it possible to use secondary firmware nodes
> > 
> > Since i didn't see it directly related to pci-front, i double checked by 
> > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> > build depends on the other) on 4.1-rc2.
> > 
> > Reverting in the guest kernel indeed makes pci-front work correct again.
> 
> That is quite odd.

Yes, that's weird.

> And sadly I am due for vacation at the end of this week
> so own't be able to look at this (and prepare an debug patch for the MSI
> addendum debug patch either).
> 
> 
> Rafael,
> 
> Were there any other bug reports about this particular commit?

Not that I'm aware of.

I'll look at that tomorrow when I'm a bit less tired.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-12 15:45       ` Rafael J. Wysocki
@ 2015-05-12 15:24           ` Sander Eikelenboom
  2015-05-12 15:24         ` Sander Eikelenboom
                             ` (2 subsequent siblings)
  3 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-12 15:24 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Konrad Rzeszutek Wilk, rafael.j.wysocki, linux-acpi,
	David Vrabel, xen-devel, linux-kernel


Tuesday, May 12, 2015, 5:45:06 PM, you wrote:

> On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
>> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
>> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
>> > > Hello Sander,
>> > > 
>> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
>> > > 
>> > > > Hi David / Konrad,
>> > > 
>> > > > Here the other problem i found, which is introduced somewhere in the 
>> > > > 4.1 mergewindow:
>> > > 
>> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> > > > the PV Guest console:
>> > > 
>> > > > [    0.517392] crc32c_combine: 8373 self tests passed
>> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> > > > [    0.517684] cpcihp_generic: not configured, disabling.
>> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.519849] usbcore: registered new interface driver udlfb
>> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
>> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
>> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    2.614682] Linux agpgart interface v0.103
>> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
>> > > > [    2.616529] brd: module loaded
>> > > > [    2.617844] loop: module loaded
>> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
>> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
>> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
>> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
>> > > > etc. etc. etc.
>> > > 
>> > > 
>> > > > Where on 4.0.0 it get:
>> > > 
>> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> > > > [    0.444885] pcifront pci-0: publishing successful!
>> > > > [    0.445302] usbcore: registered new interface driver udlfb
>> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
>> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.447002] pci_bus 0000:00: scanning bus
>> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
>> > > > [    0.449791] pci_bus 0000:00: fixups for bus
>> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    0.451991] Linux agpgart interface v0.103
>> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
>> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
>> > > 
>> > > > But i thought the patches that would change pci bus scanning were destined for 
>> > > > 4.2 though ...
>> > > 
>> > > > --
>> > > > Sander
>> > > 
>> > > Hi David / Konrad,
>> > > 
>> > > I have bisected this one .. it leads to:
>> > > 
>> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
>> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> > > Date:   Fri Apr 3 23:23:37 2015 +0200
>> > > 
>> > > device property: Make it possible to use secondary firmware nodes
>> > > 
>> > > Since i didn't see it directly related to pci-front, i double checked by 
>> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
>> > > build depends on the other) on 4.1-rc2.
>> > > 
>> > > Reverting in the guest kernel indeed makes pci-front work correct again.
>> > 
>> > That is quite odd.
>> 
>> Yes, that's weird.
>> 
>> > And sadly I am due for vacation at the end of this week
>> > so own't be able to look at this (and prepare an debug patch for the MSI
>> > addendum debug patch either).
>> > 
>> > 
>> > Rafael,
>> > 
>> > Were there any other bug reports about this particular commit?
>> 
>> Not that I'm aware of.
>> 
>> I'll look at that tomorrow when I'm a bit less tired.

> So since device_add_property_set() is not currently used, the commit it's
> been bisected to should not have any functional effects on anything, but
> nevertheless please apply the appended debug patch and see if you get any
> extra output from it.

> That said, the commit might make a difference for Xen if there's an already
> existing initialization ordering issue, because it slows down the ACPI/PCI
> initialization a bit (due to the new checks in set_primary_fwnode()) and
> something already racy with respect to it may be able to win the race now.

> So I'm wondering, for example, if adding something like msleep(100); at the
> beginning of pcifront_init() (right after the initial checks) will make any
> difference.

Thanks for looking into it, it will give this patch and your suggestion a shot 
and see if i can get some more details.

Thanks,

--
Sander



> ---
>  drivers/base/core.c |    4 ++++
>  1 file changed, 4 insertions(+)

> Index: linux-pm/drivers/base/core.c
> ===================================================================
> --- linux-pm.orig/drivers/base/core.c
> +++ linux-pm/drivers/base/core.c
> @@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
>                 if (fwnode_is_primary(fn))
>                         fn = fn->secondary;
>  
> +               WARN_ON_ONCE(fn);
> +
>                 fwnode->secondary = fn;
>                 dev->fwnode = fwnode;
>         } else {
>                 dev->fwnode = fwnode_is_primary(dev->fwnode) ?
>                         dev->fwnode->secondary : NULL;
> +
> +               WARN_ON_ONCE(dev->fwnode);
>         }
>  }
>  EXPORT_SYMBOL_GPL(set_primary_fwnode);

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
@ 2015-05-12 15:24           ` Sander Eikelenboom
  0 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-12 15:24 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Konrad Rzeszutek Wilk, rafael.j.wysocki, linux-acpi,
	David Vrabel, xen-devel, linux-kernel


Tuesday, May 12, 2015, 5:45:06 PM, you wrote:

> On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
>> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
>> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
>> > > Hello Sander,
>> > > 
>> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
>> > > 
>> > > > Hi David / Konrad,
>> > > 
>> > > > Here the other problem i found, which is introduced somewhere in the 
>> > > > 4.1 mergewindow:
>> > > 
>> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> > > > the PV Guest console:
>> > > 
>> > > > [    0.517392] crc32c_combine: 8373 self tests passed
>> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> > > > [    0.517684] cpcihp_generic: not configured, disabling.
>> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.519849] usbcore: registered new interface driver udlfb
>> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
>> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
>> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    2.614682] Linux agpgart interface v0.103
>> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
>> > > > [    2.616529] brd: module loaded
>> > > > [    2.617844] loop: module loaded
>> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
>> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
>> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
>> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
>> > > > etc. etc. etc.
>> > > 
>> > > 
>> > > > Where on 4.0.0 it get:
>> > > 
>> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> > > > [    0.444885] pcifront pci-0: publishing successful!
>> > > > [    0.445302] usbcore: registered new interface driver udlfb
>> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
>> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.447002] pci_bus 0000:00: scanning bus
>> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
>> > > > [    0.449791] pci_bus 0000:00: fixups for bus
>> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    0.451991] Linux agpgart interface v0.103
>> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
>> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
>> > > 
>> > > > But i thought the patches that would change pci bus scanning were destined for 
>> > > > 4.2 though ...
>> > > 
>> > > > --
>> > > > Sander
>> > > 
>> > > Hi David / Konrad,
>> > > 
>> > > I have bisected this one .. it leads to:
>> > > 
>> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
>> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> > > Date:   Fri Apr 3 23:23:37 2015 +0200
>> > > 
>> > > device property: Make it possible to use secondary firmware nodes
>> > > 
>> > > Since i didn't see it directly related to pci-front, i double checked by 
>> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
>> > > build depends on the other) on 4.1-rc2.
>> > > 
>> > > Reverting in the guest kernel indeed makes pci-front work correct again.
>> > 
>> > That is quite odd.
>> 
>> Yes, that's weird.
>> 
>> > And sadly I am due for vacation at the end of this week
>> > so own't be able to look at this (and prepare an debug patch for the MSI
>> > addendum debug patch either).
>> > 
>> > 
>> > Rafael,
>> > 
>> > Were there any other bug reports about this particular commit?
>> 
>> Not that I'm aware of.
>> 
>> I'll look at that tomorrow when I'm a bit less tired.

> So since device_add_property_set() is not currently used, the commit it's
> been bisected to should not have any functional effects on anything, but
> nevertheless please apply the appended debug patch and see if you get any
> extra output from it.

> That said, the commit might make a difference for Xen if there's an already
> existing initialization ordering issue, because it slows down the ACPI/PCI
> initialization a bit (due to the new checks in set_primary_fwnode()) and
> something already racy with respect to it may be able to win the race now.

> So I'm wondering, for example, if adding something like msleep(100); at the
> beginning of pcifront_init() (right after the initial checks) will make any
> difference.

Thanks for looking into it, it will give this patch and your suggestion a shot 
and see if i can get some more details.

Thanks,

--
Sander



> ---
>  drivers/base/core.c |    4 ++++
>  1 file changed, 4 insertions(+)

> Index: linux-pm/drivers/base/core.c
> ===================================================================
> --- linux-pm.orig/drivers/base/core.c
> +++ linux-pm/drivers/base/core.c
> @@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
>                 if (fwnode_is_primary(fn))
>                         fn = fn->secondary;
>  
> +               WARN_ON_ONCE(fn);
> +
>                 fwnode->secondary = fn;
>                 dev->fwnode = fwnode;
>         } else {
>                 dev->fwnode = fwnode_is_primary(dev->fwnode) ?
>                         dev->fwnode->secondary : NULL;
> +
> +               WARN_ON_ONCE(dev->fwnode);
>         }
>  }
>  EXPORT_SYMBOL_GPL(set_primary_fwnode);




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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-12 15:45       ` Rafael J. Wysocki
  2015-05-12 15:24           ` Sander Eikelenboom
@ 2015-05-12 15:24         ` Sander Eikelenboom
  2015-05-12 22:52         ` Sander Eikelenboom
  2015-05-12 22:52           ` Sander Eikelenboom
  3 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-12 15:24 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: rafael.j.wysocki, linux-kernel, linux-acpi, David Vrabel, xen-devel


Tuesday, May 12, 2015, 5:45:06 PM, you wrote:

> On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
>> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
>> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
>> > > Hello Sander,
>> > > 
>> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
>> > > 
>> > > > Hi David / Konrad,
>> > > 
>> > > > Here the other problem i found, which is introduced somewhere in the 
>> > > > 4.1 mergewindow:
>> > > 
>> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> > > > the PV Guest console:
>> > > 
>> > > > [    0.517392] crc32c_combine: 8373 self tests passed
>> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> > > > [    0.517684] cpcihp_generic: not configured, disabling.
>> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.519849] usbcore: registered new interface driver udlfb
>> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
>> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
>> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    2.614682] Linux agpgart interface v0.103
>> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
>> > > > [    2.616529] brd: module loaded
>> > > > [    2.617844] loop: module loaded
>> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
>> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
>> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
>> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
>> > > > etc. etc. etc.
>> > > 
>> > > 
>> > > > Where on 4.0.0 it get:
>> > > 
>> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> > > > [    0.444885] pcifront pci-0: publishing successful!
>> > > > [    0.445302] usbcore: registered new interface driver udlfb
>> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
>> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.447002] pci_bus 0000:00: scanning bus
>> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
>> > > > [    0.449791] pci_bus 0000:00: fixups for bus
>> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    0.451991] Linux agpgart interface v0.103
>> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
>> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
>> > > 
>> > > > But i thought the patches that would change pci bus scanning were destined for 
>> > > > 4.2 though ...
>> > > 
>> > > > --
>> > > > Sander
>> > > 
>> > > Hi David / Konrad,
>> > > 
>> > > I have bisected this one .. it leads to:
>> > > 
>> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
>> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> > > Date:   Fri Apr 3 23:23:37 2015 +0200
>> > > 
>> > > device property: Make it possible to use secondary firmware nodes
>> > > 
>> > > Since i didn't see it directly related to pci-front, i double checked by 
>> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
>> > > build depends on the other) on 4.1-rc2.
>> > > 
>> > > Reverting in the guest kernel indeed makes pci-front work correct again.
>> > 
>> > That is quite odd.
>> 
>> Yes, that's weird.
>> 
>> > And sadly I am due for vacation at the end of this week
>> > so own't be able to look at this (and prepare an debug patch for the MSI
>> > addendum debug patch either).
>> > 
>> > 
>> > Rafael,
>> > 
>> > Were there any other bug reports about this particular commit?
>> 
>> Not that I'm aware of.
>> 
>> I'll look at that tomorrow when I'm a bit less tired.

> So since device_add_property_set() is not currently used, the commit it's
> been bisected to should not have any functional effects on anything, but
> nevertheless please apply the appended debug patch and see if you get any
> extra output from it.

> That said, the commit might make a difference for Xen if there's an already
> existing initialization ordering issue, because it slows down the ACPI/PCI
> initialization a bit (due to the new checks in set_primary_fwnode()) and
> something already racy with respect to it may be able to win the race now.

> So I'm wondering, for example, if adding something like msleep(100); at the
> beginning of pcifront_init() (right after the initial checks) will make any
> difference.

Thanks for looking into it, it will give this patch and your suggestion a shot 
and see if i can get some more details.

Thanks,

--
Sander



> ---
>  drivers/base/core.c |    4 ++++
>  1 file changed, 4 insertions(+)

> Index: linux-pm/drivers/base/core.c
> ===================================================================
> --- linux-pm.orig/drivers/base/core.c
> +++ linux-pm/drivers/base/core.c
> @@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
>                 if (fwnode_is_primary(fn))
>                         fn = fn->secondary;
>  
> +               WARN_ON_ONCE(fn);
> +
>                 fwnode->secondary = fn;
>                 dev->fwnode = fwnode;
>         } else {
>                 dev->fwnode = fwnode_is_primary(dev->fwnode) ?
>                         dev->fwnode->secondary : NULL;
> +
> +               WARN_ON_ONCE(dev->fwnode);
>         }
>  }
>  EXPORT_SYMBOL_GPL(set_primary_fwnode);

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-12  0:59       ` Rafael J. Wysocki
  (?)
  (?)
@ 2015-05-12 15:45       ` Rafael J. Wysocki
  2015-05-12 15:24           ` Sander Eikelenboom
                           ` (3 more replies)
  -1 siblings, 4 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12 15:45 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, Sander Eikelenboom
  Cc: rafael.j.wysocki, linux-acpi, David Vrabel, xen-devel, linux-kernel

On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> > > Hello Sander,
> > > 
> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> > > 
> > > > Hi David / Konrad,
> > > 
> > > > Here the other problem i found, which is introduced somewhere in the 
> > > > 4.1 mergewindow:
> > > 
> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > > > the PV Guest console:
> > > 
> > > > [    0.517392] crc32c_combine: 8373 self tests passed
> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > > > [    0.517684] cpcihp_generic: not configured, disabling.
> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > > [    0.519849] usbcore: registered new interface driver udlfb
> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > > [    2.614682] Linux agpgart interface v0.103
> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
> > > > [    2.616529] brd: module loaded
> > > > [    2.617844] loop: module loaded
> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
> > > > etc. etc. etc.
> > > 
> > > 
> > > > Where on 4.0.0 it get:
> > > 
> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > > > [    0.444885] pcifront pci-0: publishing successful!
> > > > [    0.445302] usbcore: registered new interface driver udlfb
> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > > [    0.447002] pci_bus 0000:00: scanning bus
> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > > > [    0.449791] pci_bus 0000:00: fixups for bus
> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > > [    0.451991] Linux agpgart interface v0.103
> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> > > 
> > > > But i thought the patches that would change pci bus scanning were destined for 
> > > > 4.2 though ...
> > > 
> > > > --
> > > > Sander
> > > 
> > > Hi David / Konrad,
> > > 
> > > I have bisected this one .. it leads to:
> > > 
> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > Date:   Fri Apr 3 23:23:37 2015 +0200
> > > 
> > > device property: Make it possible to use secondary firmware nodes
> > > 
> > > Since i didn't see it directly related to pci-front, i double checked by 
> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> > > build depends on the other) on 4.1-rc2.
> > > 
> > > Reverting in the guest kernel indeed makes pci-front work correct again.
> > 
> > That is quite odd.
> 
> Yes, that's weird.
> 
> > And sadly I am due for vacation at the end of this week
> > so own't be able to look at this (and prepare an debug patch for the MSI
> > addendum debug patch either).
> > 
> > 
> > Rafael,
> > 
> > Were there any other bug reports about this particular commit?
> 
> Not that I'm aware of.
> 
> I'll look at that tomorrow when I'm a bit less tired.

So since device_add_property_set() is not currently used, the commit it's
been bisected to should not have any functional effects on anything, but
nevertheless please apply the appended debug patch and see if you get any
extra output from it.

That said, the commit might make a difference for Xen if there's an already
existing initialization ordering issue, because it slows down the ACPI/PCI
initialization a bit (due to the new checks in set_primary_fwnode()) and
something already racy with respect to it may be able to win the race now.

So I'm wondering, for example, if adding something like msleep(100); at the
beginning of pcifront_init() (right after the initial checks) will make any
difference.


---
 drivers/base/core.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: linux-pm/drivers/base/core.c
===================================================================
--- linux-pm.orig/drivers/base/core.c
+++ linux-pm/drivers/base/core.c
@@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
 		if (fwnode_is_primary(fn))
 			fn = fn->secondary;
 
+		WARN_ON_ONCE(fn);
+
 		fwnode->secondary = fn;
 		dev->fwnode = fwnode;
 	} else {
 		dev->fwnode = fwnode_is_primary(dev->fwnode) ?
 			dev->fwnode->secondary : NULL;
+
+		WARN_ON_ONCE(dev->fwnode);
 	}
 }
 EXPORT_SYMBOL_GPL(set_primary_fwnode);


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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-12  0:59       ` Rafael J. Wysocki
  (?)
@ 2015-05-12 15:45       ` Rafael J. Wysocki
  -1 siblings, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12 15:45 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, Sander Eikelenboom
  Cc: linux-acpi, rafael.j.wysocki, David Vrabel, linux-kernel, xen-devel

On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> > > Hello Sander,
> > > 
> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> > > 
> > > > Hi David / Konrad,
> > > 
> > > > Here the other problem i found, which is introduced somewhere in the 
> > > > 4.1 mergewindow:
> > > 
> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> > > > the PV Guest console:
> > > 
> > > > [    0.517392] crc32c_combine: 8373 self tests passed
> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> > > > [    0.517684] cpcihp_generic: not configured, disabling.
> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > > [    0.519849] usbcore: registered new interface driver udlfb
> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > > [    2.614682] Linux agpgart interface v0.103
> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
> > > > [    2.616529] brd: module loaded
> > > > [    2.617844] loop: module loaded
> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
> > > > etc. etc. etc.
> > > 
> > > 
> > > > Where on 4.0.0 it get:
> > > 
> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> > > > [    0.444885] pcifront pci-0: publishing successful!
> > > > [    0.445302] usbcore: registered new interface driver udlfb
> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> > > > [    0.447002] pci_bus 0000:00: scanning bus
> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> > > > [    0.449791] pci_bus 0000:00: fixups for bus
> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> > > > [    0.451991] Linux agpgart interface v0.103
> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> > > 
> > > > But i thought the patches that would change pci bus scanning were destined for 
> > > > 4.2 though ...
> > > 
> > > > --
> > > > Sander
> > > 
> > > Hi David / Konrad,
> > > 
> > > I have bisected this one .. it leads to:
> > > 
> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > Date:   Fri Apr 3 23:23:37 2015 +0200
> > > 
> > > device property: Make it possible to use secondary firmware nodes
> > > 
> > > Since i didn't see it directly related to pci-front, i double checked by 
> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> > > build depends on the other) on 4.1-rc2.
> > > 
> > > Reverting in the guest kernel indeed makes pci-front work correct again.
> > 
> > That is quite odd.
> 
> Yes, that's weird.
> 
> > And sadly I am due for vacation at the end of this week
> > so own't be able to look at this (and prepare an debug patch for the MSI
> > addendum debug patch either).
> > 
> > 
> > Rafael,
> > 
> > Were there any other bug reports about this particular commit?
> 
> Not that I'm aware of.
> 
> I'll look at that tomorrow when I'm a bit less tired.

So since device_add_property_set() is not currently used, the commit it's
been bisected to should not have any functional effects on anything, but
nevertheless please apply the appended debug patch and see if you get any
extra output from it.

That said, the commit might make a difference for Xen if there's an already
existing initialization ordering issue, because it slows down the ACPI/PCI
initialization a bit (due to the new checks in set_primary_fwnode()) and
something already racy with respect to it may be able to win the race now.

So I'm wondering, for example, if adding something like msleep(100); at the
beginning of pcifront_init() (right after the initial checks) will make any
difference.


---
 drivers/base/core.c |    4 ++++
 1 file changed, 4 insertions(+)

Index: linux-pm/drivers/base/core.c
===================================================================
--- linux-pm.orig/drivers/base/core.c
+++ linux-pm/drivers/base/core.c
@@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
 		if (fwnode_is_primary(fn))
 			fn = fn->secondary;
 
+		WARN_ON_ONCE(fn);
+
 		fwnode->secondary = fn;
 		dev->fwnode = fwnode;
 	} else {
 		dev->fwnode = fwnode_is_primary(dev->fwnode) ?
 			dev->fwnode->secondary : NULL;
+
+		WARN_ON_ONCE(dev->fwnode);
 	}
 }
 EXPORT_SYMBOL_GPL(set_primary_fwnode);

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-12 15:45       ` Rafael J. Wysocki
@ 2015-05-12 22:52           ` Sander Eikelenboom
  2015-05-12 15:24         ` Sander Eikelenboom
                             ` (2 subsequent siblings)
  3 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-12 22:52 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Rafael J. Wysocki, rafael.j.wysocki, linux-acpi, David Vrabel,
	xen-devel, linux-kernel



Tuesday, May 12, 2015, 5:45:06 PM, you wrote:

> On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
>> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
>> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
>> > > Hello Sander,
>> > > 
>> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
>> > > 
>> > > > Hi David / Konrad,
>> > > 
>> > > > Here the other problem i found, which is introduced somewhere in the 
>> > > > 4.1 mergewindow:
>> > > 
>> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> > > > the PV Guest console:
>> > > 
>> > > > [    0.517392] crc32c_combine: 8373 self tests passed
>> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> > > > [    0.517684] cpcihp_generic: not configured, disabling.
>> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.519849] usbcore: registered new interface driver udlfb
>> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
>> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
>> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    2.614682] Linux agpgart interface v0.103
>> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
>> > > > [    2.616529] brd: module loaded
>> > > > [    2.617844] loop: module loaded
>> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
>> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
>> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
>> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
>> > > > etc. etc. etc.
>> > > 
>> > > 
>> > > > Where on 4.0.0 it get:
>> > > 
>> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> > > > [    0.444885] pcifront pci-0: publishing successful!
>> > > > [    0.445302] usbcore: registered new interface driver udlfb
>> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
>> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.447002] pci_bus 0000:00: scanning bus
>> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
>> > > > [    0.449791] pci_bus 0000:00: fixups for bus
>> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    0.451991] Linux agpgart interface v0.103
>> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
>> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
>> > > 
>> > > > But i thought the patches that would change pci bus scanning were destined for 
>> > > > 4.2 though ...
>> > > 
>> > > > --
>> > > > Sander
>> > > 
>> > > Hi David / Konrad,
>> > > 
>> > > I have bisected this one .. it leads to:
>> > > 
>> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
>> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> > > Date:   Fri Apr 3 23:23:37 2015 +0200
>> > > 
>> > > device property: Make it possible to use secondary firmware nodes
>> > > 
>> > > Since i didn't see it directly related to pci-front, i double checked by 
>> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
>> > > build depends on the other) on 4.1-rc2.
>> > > 
>> > > Reverting in the guest kernel indeed makes pci-front work correct again.
>> > 
>> > That is quite odd.
>> 
>> Yes, that's weird.
>> 
>> > And sadly I am due for vacation at the end of this week
>> > so own't be able to look at this (and prepare an debug patch for the MSI
>> > addendum debug patch either).
>> > 
>> > 
>> > Rafael,
>> > 
>> > Were there any other bug reports about this particular commit?
>> 
>> Not that I'm aware of.
>> 
>> I'll look at that tomorrow when I'm a bit less tired.

> So since device_add_property_set() is not currently used, the commit it's
> been bisected to should not have any functional effects on anything, but
> nevertheless please apply the appended debug patch and see if you get any
> extra output from it.

> That said, the commit might make a difference for Xen if there's an already
> existing initialization ordering issue, because it slows down the ACPI/PCI
> initialization a bit (due to the new checks in set_primary_fwnode()) and
> something already racy with respect to it may be able to win the race now.

> So I'm wondering, for example, if adding something like msleep(100); at the
> beginning of pcifront_init() (right after the initial checks) will make any
> difference.

Hi Rafael,

The WARN's don't trigger, so it's a red herring i suppose :-(
I also tried the msleep(100), but that didn't change anything as well. 

Konrad,

I enabled (and extended) the debugging printk's in xen-pcifront.
Why is the code actually "scanning" all those BDF's ?
Hasn't pciback written the virtual slot into xenstore already ?

 
>From pciback side i get:
[  523.502306] pciback 0000:03:06.0: resetting (FLR, D3,  bus) the device
[  523.502313] pciback 0000:03:06.0: OK
[  523.502354] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100000, writing 0x2100105)
[  523.527080] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100000, writing 0x2100105)
[  524.537592] pciback 0000:03:06.0: restoring config space at offset 0xc (was 0x0, writing 0x4000)
[  524.537621] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100080, writing 0x2100000)
[  524.560066] xen-pciback pci-19-0: allocated pdev @ 0xffff88002f768300
[  524.561958] xen-pciback pci-19-0: getting be setup
[  524.562339] xen-pciback pci-19-0: exporting dom 0 bus 3 slot 6 func 0
[  524.562344] xen_pciback: vpci: 0000:03:06.0: assign to virtual slot 0
[  524.562607] pciback 0000:03:06.0: registering for 19
[  524.562881] xen-pciback pci-19-0: Publishing pci roots
[  524.563269] xen-pciback pci-19-0: writing root 0 at 0000:00
[  524.569003] xen-pciback pci-19-0: fe state changed 1
[  525.407945] xen-pciback pci-19-0: fe state changed 3
[  525.408370] xen-pciback pci-19-0: Reading frontend config
[  525.408674] xen-pciback pci-19-0: Attaching to frontend resources - gnt_ref=8 evtchn=10
[  525.408715] xen-pciback pci-19-0: Attached!
[  525.408717] xen-pciback pci-19-0: Connecting...
[  525.409629] xen-pciback pci-19-0: Connected? 0
[  555.416997] xen-blkback: ring-ref 9, event-channel 11, protocol 1 (x86_64-abi) persistent grants
[ 1102.845227] xen-pciback pci-19-0: fe state changed 4
[ 1102.909699] vif vif-19-0 vif19.0: Guest Rx ready


>From pcifront side:
[    0.665420] pcifront pci-0: Installing PCI frontend
[    0.665584] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.665631] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.665638] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.665645] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.665654] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.665659] pci_bus 0000:00: scanning bus
[    0.665666] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.667330] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462193392053000  ns_timeout: 1431462193392052000
[    2.665795] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e2108dd018, max_idle_ns: 440795268512 ns
[    2.667763] brd: module loaded
[    2.669244] loop: module loaded
[    2.669421] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.670009] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462195395810000  ns_timeout: 1431462195395809000
[    4.669545] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.672797] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462197395932000  ns_timeout: 1431462197395931000
[    6.669817] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.672908] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462199396207000  ns_timeout: 1431462199396206000
[    8.669901] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.673182] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462201396836000  ns_timeout: 1431462201396297000
[   10.670587] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.673829] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462203396981000  ns_timeout: 1431462203396973000
[   12.670810] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4
[   12.673995] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462205397206000  ns_timeout: 1431462205397202000
[   14.670943] pcifront pci-0: read dev=0000:00:07.0 - offset 0 size 4
[   14.674205] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462207397332000  ns_timeout: 1431462207397331000
[   16.671076] pcifront pci-0: read dev=0000:00:08.0 - offset 0 size 4
[   16.674331] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462209397463000  ns_timeout: 1431462209397462000
[   18.671133] pcifront pci-0: read dev=0000:00:09.0 - offset 0 size 4
[   18.674438] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462211397520000  ns_timeout: 1431462211397519000

<big snip>

[  560.071316] pcifront pci-0: read dev=0000:00:1e.7 - offset 0 size 4
[  560.073698] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462752797707000  ns_timeout: 1431462752797706000
[  562.072326] pcifront pci-0: read dev=0000:00:1f.0 - offset 0 size 4
[  562.074707] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462754798720000  ns_timeout: 1431462754798717000
[  564.074359] pcifront pci-0: read dev=0000:00:1f.1 - offset 0 size 4
[  564.076821] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462756800762000  ns_timeout: 1431462756800761000
[  566.075590] pcifront pci-0: read dev=0000:00:1f.2 - offset 0 size 4
[  566.077791] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462758801996000  ns_timeout: 1431462758801995000
[  568.076680] pcifront pci-0: read dev=0000:00:1f.3 - offset 0 size 4
[  568.079960] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462760803264000  ns_timeout: 1431462760803084000
[  570.077939] pcifront pci-0: read dev=0000:00:1f.4 - offset 0 size 4
[  570.080267] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462762804331000  ns_timeout: 1431462762804330000
[  572.078953] pcifront pci-0: read dev=0000:00:1f.5 - offset 0 size 4
[  572.081338] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462764805354000  ns_timeout: 1431462764805349000
[  574.080073] pcifront pci-0: read dev=0000:00:1f.6 - offset 0 size 4
[  574.083323] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462766806466000  ns_timeout: 1431462766806463000
[  576.081077] pcifront pci-0: read dev=0000:00:1f.7 - offset 0 size 4
[  576.083464] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462768807992000  ns_timeout: 1431462768807468000
[  578.102629] blkfront: xvda: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;

Now pcifront timed out (and pciback reports a state change to 4 which is 
"connected" .. which also seems a wrong fallthrough somewhere.

After reverting the two commits again .. i get a working pci device and this 
output from pci-front:
[    0.628804] pcifront pci-0: Installing PCI frontend
[    0.629167] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.629225] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.629237] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.629254] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.629269] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.629285] pci_bus 0000:00: scanning bus
[    0.629303] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.629344] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164529000  ns_timeout: 1431470446164504000
[    0.629364] pcifront pci-0: read got back value 11113f6
[    0.629383] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.629413] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164599000  ns_timeout: 1431470446164589000
[    0.629433] pcifront pci-0: read got back value 0
[    0.629452] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.629483] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164670000  ns_timeout: 1431470446164659000
[    0.629504] pcifront pci-0: read got back value 210
[    0.629518] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
[    0.629547] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164733000  ns_timeout: 1431470446164724000
[    0.629566] pcifront pci-0: read got back value c0
[    0.629579] pcifront pci-0: read dev=0000:00:00.0 - offset c0 size 2
[    0.629609] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164796000  ns_timeout: 1431470446164786000
[    0.629632] pcifront pci-0: read got back value 1
[    0.629647] pcifront pci-0: read dev=0000:00:00.0 - offset 8 size 4
[    0.629676] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164863000  ns_timeout: 1431470446164853000
[    0.629696] pcifront pci-0: read got back value 4010010
[    0.629709] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
[    0.629720] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.629743] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164929000  ns_timeout: 1431470446164920000
[    0.629774] pcifront pci-0: read got back value 210
[    0.629787] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
[    0.629828] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165014000  ns_timeout: 1431470446164999000
[    0.629847] pcifront pci-0: read got back value c0
[    0.629860] pcifront pci-0: read dev=0000:00:00.0 - offset c0 size 2
[    0.629889] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165076000  ns_timeout: 1431470446165067000
[    0.629919] pcifront pci-0: read got back value 1
[    0.629932] pcifront pci-0: read dev=0000:00:00.0 - offset 3d size 1
[    0.629966] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165152000  ns_timeout: 1431470446165138000
[    0.630007] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165194000  ns_timeout: 1431470446165138000
[    0.630020] pcifront pci-0: read got back value 1
[    0.630066] pcifront pci-0: read dev=0000:00:00.0 - offset 3c size 1
[    0.630099] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165285000  ns_timeout: 1431470446165275000
[    0.630120] pcifront pci-0: read got back value 16
[    0.630140] pcifront pci-0: read dev=0000:00:00.0 - offset 4 size 2
[    0.630172] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165358000  ns_timeout: 1431470446165348000
[    0.630204] pcifront pci-0: read got back value 101
[    0.630238] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165421000  ns_timeout: 1431470446165414000
[    0.630265] pcifront pci-0: read dev=0000:00:00.0 - offset 10 size 4
[    0.630292] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165480000  ns_timeout: 1431470446165472000
[    0.630323] pcifront pci-0: read got back value 7801
[    0.630354] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165540000  ns_timeout: 1431470446165531000
[    0.630389] pcifront pci-0: read dev=0000:00:00.0 - offset 10 size 4
[    0.630425] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165611000  ns_timeout: 1431470446165596000
[    0.630456] pcifront pci-0: read got back value 100
[    0.630489] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165675000  ns_timeout: 1431470446165665000
[    0.630529] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165715000  ns_timeout: 1431470446165703000
[    0.630571] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165757000  ns_timeout: 1431470446165703000
[    0.630613] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165800000  ns_timeout: 1431470446165703000
[    0.630655] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165842000  ns_timeout: 1431470446165703000
[    0.630698] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165884000  ns_timeout: 1431470446165703000
[    0.630733] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
[    0.803637] pcifront pci-0: read dev=0000:00:00.0 - offset 4 size 2
[    0.803701] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444338888000  ns_timeout: 1431470446338836000
[    0.803712] pcifront pci-0: read got back value 101
[    0.803861] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444339049000  ns_timeout: 1431470446338910000
[    0.803876] pcifront pci-0: read dev=0000:00:00.0 - offset 14 size 4
[    0.803920] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444339108000  ns_timeout: 143147044633907400

etc.

On a side note .. why is it actually "scanning" the bus and all possible BDF's ?
Shouldn't pcifront already be able to know the virtual slot pciback has written 
to xenstore were the device(s) will be ?



The only direct change involving xen-pciback and pcifront seems to be:

commit ccc9d90a9a8b5c4ad7e9708ec41f75ff9e98d61d
Author: Wei Liu <wei.liu2@citrix.com>
Date:   Fri Apr 3 14:44:59 2015 +0800

    xenbus_client: Extend interface to support multi-page ring

But my bisect didn't point that out :S

Any pointers were to add more debug code ?
--
Sander




> ---
>  drivers/base/core.c |    4 ++++
>  1 file changed, 4 insertions(+)

> Index: linux-pm/drivers/base/core.c
> ===================================================================
> --- linux-pm.orig/drivers/base/core.c
> +++ linux-pm/drivers/base/core.c
> @@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
>                 if (fwnode_is_primary(fn))
>                         fn = fn->secondary;
>  
> +               WARN_ON_ONCE(fn);
> +
>                 fwnode->secondary = fn;
>                 dev->fwnode = fwnode;
>         } else {
>                 dev->fwnode = fwnode_is_primary(dev->fwnode) ?
>                         dev->fwnode->secondary : NULL;
> +
> +               WARN_ON_ONCE(dev->fwnode);
>         }
>  }
>  EXPORT_SYMBOL_GPL(set_primary_fwnode);




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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
@ 2015-05-12 22:52           ` Sander Eikelenboom
  0 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-12 22:52 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Rafael J. Wysocki, rafael.j.wysocki, linux-acpi, David Vrabel,
	xen-devel, linux-kernel



Tuesday, May 12, 2015, 5:45:06 PM, you wrote:

> On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
>> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
>> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
>> > > Hello Sander,
>> > > 
>> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
>> > > 
>> > > > Hi David / Konrad,
>> > > 
>> > > > Here the other problem i found, which is introduced somewhere in the 
>> > > > 4.1 mergewindow:
>> > > 
>> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> > > > the PV Guest console:
>> > > 
>> > > > [    0.517392] crc32c_combine: 8373 self tests passed
>> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> > > > [    0.517684] cpcihp_generic: not configured, disabling.
>> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.519849] usbcore: registered new interface driver udlfb
>> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
>> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
>> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    2.614682] Linux agpgart interface v0.103
>> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
>> > > > [    2.616529] brd: module loaded
>> > > > [    2.617844] loop: module loaded
>> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
>> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
>> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
>> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
>> > > > etc. etc. etc.
>> > > 
>> > > 
>> > > > Where on 4.0.0 it get:
>> > > 
>> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> > > > [    0.444885] pcifront pci-0: publishing successful!
>> > > > [    0.445302] usbcore: registered new interface driver udlfb
>> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
>> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.447002] pci_bus 0000:00: scanning bus
>> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
>> > > > [    0.449791] pci_bus 0000:00: fixups for bus
>> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    0.451991] Linux agpgart interface v0.103
>> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
>> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
>> > > 
>> > > > But i thought the patches that would change pci bus scanning were destined for 
>> > > > 4.2 though ...
>> > > 
>> > > > --
>> > > > Sander
>> > > 
>> > > Hi David / Konrad,
>> > > 
>> > > I have bisected this one .. it leads to:
>> > > 
>> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
>> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> > > Date:   Fri Apr 3 23:23:37 2015 +0200
>> > > 
>> > > device property: Make it possible to use secondary firmware nodes
>> > > 
>> > > Since i didn't see it directly related to pci-front, i double checked by 
>> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
>> > > build depends on the other) on 4.1-rc2.
>> > > 
>> > > Reverting in the guest kernel indeed makes pci-front work correct again.
>> > 
>> > That is quite odd.
>> 
>> Yes, that's weird.
>> 
>> > And sadly I am due for vacation at the end of this week
>> > so own't be able to look at this (and prepare an debug patch for the MSI
>> > addendum debug patch either).
>> > 
>> > 
>> > Rafael,
>> > 
>> > Were there any other bug reports about this particular commit?
>> 
>> Not that I'm aware of.
>> 
>> I'll look at that tomorrow when I'm a bit less tired.

> So since device_add_property_set() is not currently used, the commit it's
> been bisected to should not have any functional effects on anything, but
> nevertheless please apply the appended debug patch and see if you get any
> extra output from it.

> That said, the commit might make a difference for Xen if there's an already
> existing initialization ordering issue, because it slows down the ACPI/PCI
> initialization a bit (due to the new checks in set_primary_fwnode()) and
> something already racy with respect to it may be able to win the race now.

> So I'm wondering, for example, if adding something like msleep(100); at the
> beginning of pcifront_init() (right after the initial checks) will make any
> difference.

Hi Rafael,

The WARN's don't trigger, so it's a red herring i suppose :-(
I also tried the msleep(100), but that didn't change anything as well. 

Konrad,

I enabled (and extended) the debugging printk's in xen-pcifront.
Why is the code actually "scanning" all those BDF's ?
Hasn't pciback written the virtual slot into xenstore already ?

 
>From pciback side i get:
[  523.502306] pciback 0000:03:06.0: resetting (FLR, D3,  bus) the device
[  523.502313] pciback 0000:03:06.0: OK
[  523.502354] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100000, writing 0x2100105)
[  523.527080] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100000, writing 0x2100105)
[  524.537592] pciback 0000:03:06.0: restoring config space at offset 0xc (was 0x0, writing 0x4000)
[  524.537621] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100080, writing 0x2100000)
[  524.560066] xen-pciback pci-19-0: allocated pdev @ 0xffff88002f768300
[  524.561958] xen-pciback pci-19-0: getting be setup
[  524.562339] xen-pciback pci-19-0: exporting dom 0 bus 3 slot 6 func 0
[  524.562344] xen_pciback: vpci: 0000:03:06.0: assign to virtual slot 0
[  524.562607] pciback 0000:03:06.0: registering for 19
[  524.562881] xen-pciback pci-19-0: Publishing pci roots
[  524.563269] xen-pciback pci-19-0: writing root 0 at 0000:00
[  524.569003] xen-pciback pci-19-0: fe state changed 1
[  525.407945] xen-pciback pci-19-0: fe state changed 3
[  525.408370] xen-pciback pci-19-0: Reading frontend config
[  525.408674] xen-pciback pci-19-0: Attaching to frontend resources - gnt_ref=8 evtchn=10
[  525.408715] xen-pciback pci-19-0: Attached!
[  525.408717] xen-pciback pci-19-0: Connecting...
[  525.409629] xen-pciback pci-19-0: Connected? 0
[  555.416997] xen-blkback: ring-ref 9, event-channel 11, protocol 1 (x86_64-abi) persistent grants
[ 1102.845227] xen-pciback pci-19-0: fe state changed 4
[ 1102.909699] vif vif-19-0 vif19.0: Guest Rx ready


>From pcifront side:
[    0.665420] pcifront pci-0: Installing PCI frontend
[    0.665584] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.665631] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.665638] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.665645] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.665654] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.665659] pci_bus 0000:00: scanning bus
[    0.665666] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.667330] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462193392053000  ns_timeout: 1431462193392052000
[    2.665795] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e2108dd018, max_idle_ns: 440795268512 ns
[    2.667763] brd: module loaded
[    2.669244] loop: module loaded
[    2.669421] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.670009] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462195395810000  ns_timeout: 1431462195395809000
[    4.669545] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.672797] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462197395932000  ns_timeout: 1431462197395931000
[    6.669817] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.672908] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462199396207000  ns_timeout: 1431462199396206000
[    8.669901] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.673182] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462201396836000  ns_timeout: 1431462201396297000
[   10.670587] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.673829] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462203396981000  ns_timeout: 1431462203396973000
[   12.670810] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4
[   12.673995] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462205397206000  ns_timeout: 1431462205397202000
[   14.670943] pcifront pci-0: read dev=0000:00:07.0 - offset 0 size 4
[   14.674205] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462207397332000  ns_timeout: 1431462207397331000
[   16.671076] pcifront pci-0: read dev=0000:00:08.0 - offset 0 size 4
[   16.674331] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462209397463000  ns_timeout: 1431462209397462000
[   18.671133] pcifront pci-0: read dev=0000:00:09.0 - offset 0 size 4
[   18.674438] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462211397520000  ns_timeout: 1431462211397519000

<big snip>

[  560.071316] pcifront pci-0: read dev=0000:00:1e.7 - offset 0 size 4
[  560.073698] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462752797707000  ns_timeout: 1431462752797706000
[  562.072326] pcifront pci-0: read dev=0000:00:1f.0 - offset 0 size 4
[  562.074707] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462754798720000  ns_timeout: 1431462754798717000
[  564.074359] pcifront pci-0: read dev=0000:00:1f.1 - offset 0 size 4
[  564.076821] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462756800762000  ns_timeout: 1431462756800761000
[  566.075590] pcifront pci-0: read dev=0000:00:1f.2 - offset 0 size 4
[  566.077791] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462758801996000  ns_timeout: 1431462758801995000
[  568.076680] pcifront pci-0: read dev=0000:00:1f.3 - offset 0 size 4
[  568.079960] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462760803264000  ns_timeout: 1431462760803084000
[  570.077939] pcifront pci-0: read dev=0000:00:1f.4 - offset 0 size 4
[  570.080267] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462762804331000  ns_timeout: 1431462762804330000
[  572.078953] pcifront pci-0: read dev=0000:00:1f.5 - offset 0 size 4
[  572.081338] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462764805354000  ns_timeout: 1431462764805349000
[  574.080073] pcifront pci-0: read dev=0000:00:1f.6 - offset 0 size 4
[  574.083323] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462766806466000  ns_timeout: 1431462766806463000
[  576.081077] pcifront pci-0: read dev=0000:00:1f.7 - offset 0 size 4
[  576.083464] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462768807992000  ns_timeout: 1431462768807468000
[  578.102629] blkfront: xvda: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;

Now pcifront timed out (and pciback reports a state change to 4 which is 
"connected" .. which also seems a wrong fallthrough somewhere.

After reverting the two commits again .. i get a working pci device and this 
output from pci-front:
[    0.628804] pcifront pci-0: Installing PCI frontend
[    0.629167] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.629225] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.629237] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.629254] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.629269] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.629285] pci_bus 0000:00: scanning bus
[    0.629303] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.629344] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164529000  ns_timeout: 1431470446164504000
[    0.629364] pcifront pci-0: read got back value 11113f6
[    0.629383] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.629413] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164599000  ns_timeout: 1431470446164589000
[    0.629433] pcifront pci-0: read got back value 0
[    0.629452] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.629483] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164670000  ns_timeout: 1431470446164659000
[    0.629504] pcifront pci-0: read got back value 210
[    0.629518] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
[    0.629547] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164733000  ns_timeout: 1431470446164724000
[    0.629566] pcifront pci-0: read got back value c0
[    0.629579] pcifront pci-0: read dev=0000:00:00.0 - offset c0 size 2
[    0.629609] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164796000  ns_timeout: 1431470446164786000
[    0.629632] pcifront pci-0: read got back value 1
[    0.629647] pcifront pci-0: read dev=0000:00:00.0 - offset 8 size 4
[    0.629676] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164863000  ns_timeout: 1431470446164853000
[    0.629696] pcifront pci-0: read got back value 4010010
[    0.629709] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
[    0.629720] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.629743] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164929000  ns_timeout: 1431470446164920000
[    0.629774] pcifront pci-0: read got back value 210
[    0.629787] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
[    0.629828] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165014000  ns_timeout: 1431470446164999000
[    0.629847] pcifront pci-0: read got back value c0
[    0.629860] pcifront pci-0: read dev=0000:00:00.0 - offset c0 size 2
[    0.629889] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165076000  ns_timeout: 1431470446165067000
[    0.629919] pcifront pci-0: read got back value 1
[    0.629932] pcifront pci-0: read dev=0000:00:00.0 - offset 3d size 1
[    0.629966] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165152000  ns_timeout: 1431470446165138000
[    0.630007] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165194000  ns_timeout: 1431470446165138000
[    0.630020] pcifront pci-0: read got back value 1
[    0.630066] pcifront pci-0: read dev=0000:00:00.0 - offset 3c size 1
[    0.630099] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165285000  ns_timeout: 1431470446165275000
[    0.630120] pcifront pci-0: read got back value 16
[    0.630140] pcifront pci-0: read dev=0000:00:00.0 - offset 4 size 2
[    0.630172] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165358000  ns_timeout: 1431470446165348000
[    0.630204] pcifront pci-0: read got back value 101
[    0.630238] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165421000  ns_timeout: 1431470446165414000
[    0.630265] pcifront pci-0: read dev=0000:00:00.0 - offset 10 size 4
[    0.630292] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165480000  ns_timeout: 1431470446165472000
[    0.630323] pcifront pci-0: read got back value 7801
[    0.630354] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165540000  ns_timeout: 1431470446165531000
[    0.630389] pcifront pci-0: read dev=0000:00:00.0 - offset 10 size 4
[    0.630425] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165611000  ns_timeout: 1431470446165596000
[    0.630456] pcifront pci-0: read got back value 100
[    0.630489] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165675000  ns_timeout: 1431470446165665000
[    0.630529] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165715000  ns_timeout: 1431470446165703000
[    0.630571] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165757000  ns_timeout: 1431470446165703000
[    0.630613] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165800000  ns_timeout: 1431470446165703000
[    0.630655] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165842000  ns_timeout: 1431470446165703000
[    0.630698] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165884000  ns_timeout: 1431470446165703000
[    0.630733] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
[    0.803637] pcifront pci-0: read dev=0000:00:00.0 - offset 4 size 2
[    0.803701] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444338888000  ns_timeout: 1431470446338836000
[    0.803712] pcifront pci-0: read got back value 101
[    0.803861] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444339049000  ns_timeout: 1431470446338910000
[    0.803876] pcifront pci-0: read dev=0000:00:00.0 - offset 14 size 4
[    0.803920] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444339108000  ns_timeout: 143147044633907400

etc.

On a side note .. why is it actually "scanning" the bus and all possible BDF's ?
Shouldn't pcifront already be able to know the virtual slot pciback has written 
to xenstore were the device(s) will be ?



The only direct change involving xen-pciback and pcifront seems to be:

commit ccc9d90a9a8b5c4ad7e9708ec41f75ff9e98d61d
Author: Wei Liu <wei.liu2@citrix.com>
Date:   Fri Apr 3 14:44:59 2015 +0800

    xenbus_client: Extend interface to support multi-page ring

But my bisect didn't point that out :S

Any pointers were to add more debug code ?
--
Sander




> ---
>  drivers/base/core.c |    4 ++++
>  1 file changed, 4 insertions(+)

> Index: linux-pm/drivers/base/core.c
> ===================================================================
> --- linux-pm.orig/drivers/base/core.c
> +++ linux-pm/drivers/base/core.c
> @@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
>                 if (fwnode_is_primary(fn))
>                         fn = fn->secondary;
>  
> +               WARN_ON_ONCE(fn);
> +
>                 fwnode->secondary = fn;
>                 dev->fwnode = fwnode;
>         } else {
>                 dev->fwnode = fwnode_is_primary(dev->fwnode) ?
>                         dev->fwnode->secondary : NULL;
> +
> +               WARN_ON_ONCE(dev->fwnode);
>         }
>  }
>  EXPORT_SYMBOL_GPL(set_primary_fwnode);




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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-12 15:45       ` Rafael J. Wysocki
  2015-05-12 15:24           ` Sander Eikelenboom
  2015-05-12 15:24         ` Sander Eikelenboom
@ 2015-05-12 22:52         ` Sander Eikelenboom
  2015-05-12 22:52           ` Sander Eikelenboom
  3 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-12 22:52 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: rafael.j.wysocki, Rafael J. Wysocki, linux-kernel, linux-acpi,
	David Vrabel, xen-devel


Tuesday, May 12, 2015, 5:45:06 PM, you wrote:

> On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
>> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
>> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
>> > > Hello Sander,
>> > > 
>> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
>> > > 
>> > > > Hi David / Konrad,
>> > > 
>> > > > Here the other problem i found, which is introduced somewhere in the 
>> > > > 4.1 mergewindow:
>> > > 
>> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
>> > > > the PV Guest console:
>> > > 
>> > > > [    0.517392] crc32c_combine: 8373 self tests passed
>> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
>> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
>> > > > [    0.517684] cpcihp_generic: not configured, disabling.
>> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.519849] usbcore: registered new interface driver udlfb
>> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
>> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
>> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
>> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    2.614682] Linux agpgart interface v0.103
>> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
>> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
>> > > > [    2.616529] brd: module loaded
>> > > > [    2.617844] loop: module loaded
>> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
>> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
>> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
>> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
>> > > > etc. etc. etc.
>> > > 
>> > > 
>> > > > Where on 4.0.0 it get:
>> > > 
>> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
>> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
>> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
>> > > > [    0.444885] pcifront pci-0: publishing successful!
>> > > > [    0.445302] usbcore: registered new interface driver udlfb
>> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
>> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
>> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
>> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
>> > > > [    0.447002] pci_bus 0000:00: scanning bus
>> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
>> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
>> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
>> > > > [    0.449791] pci_bus 0000:00: fixups for bus
>> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
>> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> > > > [    0.451991] Linux agpgart interface v0.103
>> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
>> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
>> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
>> > > 
>> > > > But i thought the patches that would change pci bus scanning were destined for 
>> > > > 4.2 though ...
>> > > 
>> > > > --
>> > > > Sander
>> > > 
>> > > Hi David / Konrad,
>> > > 
>> > > I have bisected this one .. it leads to:
>> > > 
>> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
>> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>> > > Date:   Fri Apr 3 23:23:37 2015 +0200
>> > > 
>> > > device property: Make it possible to use secondary firmware nodes
>> > > 
>> > > Since i didn't see it directly related to pci-front, i double checked by 
>> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
>> > > build depends on the other) on 4.1-rc2.
>> > > 
>> > > Reverting in the guest kernel indeed makes pci-front work correct again.
>> > 
>> > That is quite odd.
>> 
>> Yes, that's weird.
>> 
>> > And sadly I am due for vacation at the end of this week
>> > so own't be able to look at this (and prepare an debug patch for the MSI
>> > addendum debug patch either).
>> > 
>> > 
>> > Rafael,
>> > 
>> > Were there any other bug reports about this particular commit?
>> 
>> Not that I'm aware of.
>> 
>> I'll look at that tomorrow when I'm a bit less tired.

> So since device_add_property_set() is not currently used, the commit it's
> been bisected to should not have any functional effects on anything, but
> nevertheless please apply the appended debug patch and see if you get any
> extra output from it.

> That said, the commit might make a difference for Xen if there's an already
> existing initialization ordering issue, because it slows down the ACPI/PCI
> initialization a bit (due to the new checks in set_primary_fwnode()) and
> something already racy with respect to it may be able to win the race now.

> So I'm wondering, for example, if adding something like msleep(100); at the
> beginning of pcifront_init() (right after the initial checks) will make any
> difference.

Hi Rafael,

The WARN's don't trigger, so it's a red herring i suppose :-(
I also tried the msleep(100), but that didn't change anything as well. 

Konrad,

I enabled (and extended) the debugging printk's in xen-pcifront.
Why is the code actually "scanning" all those BDF's ?
Hasn't pciback written the virtual slot into xenstore already ?

 
>From pciback side i get:
[  523.502306] pciback 0000:03:06.0: resetting (FLR, D3,  bus) the device
[  523.502313] pciback 0000:03:06.0: OK
[  523.502354] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100000, writing 0x2100105)
[  523.527080] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100000, writing 0x2100105)
[  524.537592] pciback 0000:03:06.0: restoring config space at offset 0xc (was 0x0, writing 0x4000)
[  524.537621] pciback 0000:03:06.0: restoring config space at offset 0x4 (was 0x2100080, writing 0x2100000)
[  524.560066] xen-pciback pci-19-0: allocated pdev @ 0xffff88002f768300
[  524.561958] xen-pciback pci-19-0: getting be setup
[  524.562339] xen-pciback pci-19-0: exporting dom 0 bus 3 slot 6 func 0
[  524.562344] xen_pciback: vpci: 0000:03:06.0: assign to virtual slot 0
[  524.562607] pciback 0000:03:06.0: registering for 19
[  524.562881] xen-pciback pci-19-0: Publishing pci roots
[  524.563269] xen-pciback pci-19-0: writing root 0 at 0000:00
[  524.569003] xen-pciback pci-19-0: fe state changed 1
[  525.407945] xen-pciback pci-19-0: fe state changed 3
[  525.408370] xen-pciback pci-19-0: Reading frontend config
[  525.408674] xen-pciback pci-19-0: Attaching to frontend resources - gnt_ref=8 evtchn=10
[  525.408715] xen-pciback pci-19-0: Attached!
[  525.408717] xen-pciback pci-19-0: Connecting...
[  525.409629] xen-pciback pci-19-0: Connected? 0
[  555.416997] xen-blkback: ring-ref 9, event-channel 11, protocol 1 (x86_64-abi) persistent grants
[ 1102.845227] xen-pciback pci-19-0: fe state changed 4
[ 1102.909699] vif vif-19-0 vif19.0: Guest Rx ready


>From pcifront side:
[    0.665420] pcifront pci-0: Installing PCI frontend
[    0.665584] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.665631] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.665638] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.665645] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.665654] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.665659] pci_bus 0000:00: scanning bus
[    0.665666] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.667330] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462193392053000  ns_timeout: 1431462193392052000
[    2.665795] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e2108dd018, max_idle_ns: 440795268512 ns
[    2.667763] brd: module loaded
[    2.669244] loop: module loaded
[    2.669421] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.670009] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462195395810000  ns_timeout: 1431462195395809000
[    4.669545] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.672797] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462197395932000  ns_timeout: 1431462197395931000
[    6.669817] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.672908] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462199396207000  ns_timeout: 1431462199396206000
[    8.669901] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.673182] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462201396836000  ns_timeout: 1431462201396297000
[   10.670587] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.673829] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462203396981000  ns_timeout: 1431462203396973000
[   12.670810] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4
[   12.673995] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462205397206000  ns_timeout: 1431462205397202000
[   14.670943] pcifront pci-0: read dev=0000:00:07.0 - offset 0 size 4
[   14.674205] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462207397332000  ns_timeout: 1431462207397331000
[   16.671076] pcifront pci-0: read dev=0000:00:08.0 - offset 0 size 4
[   16.674331] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462209397463000  ns_timeout: 1431462209397462000
[   18.671133] pcifront pci-0: read dev=0000:00:09.0 - offset 0 size 4
[   18.674438] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462211397520000  ns_timeout: 1431462211397519000

<big snip>

[  560.071316] pcifront pci-0: read dev=0000:00:1e.7 - offset 0 size 4
[  560.073698] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462752797707000  ns_timeout: 1431462752797706000
[  562.072326] pcifront pci-0: read dev=0000:00:1f.0 - offset 0 size 4
[  562.074707] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462754798720000  ns_timeout: 1431462754798717000
[  564.074359] pcifront pci-0: read dev=0000:00:1f.1 - offset 0 size 4
[  564.076821] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462756800762000  ns_timeout: 1431462756800761000
[  566.075590] pcifront pci-0: read dev=0000:00:1f.2 - offset 0 size 4
[  566.077791] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462758801996000  ns_timeout: 1431462758801995000
[  568.076680] pcifront pci-0: read dev=0000:00:1f.3 - offset 0 size 4
[  568.079960] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462760803264000  ns_timeout: 1431462760803084000
[  570.077939] pcifront pci-0: read dev=0000:00:1f.4 - offset 0 size 4
[  570.080267] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462762804331000  ns_timeout: 1431462762804330000
[  572.078953] pcifront pci-0: read dev=0000:00:1f.5 - offset 0 size 4
[  572.081338] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462764805354000  ns_timeout: 1431462764805349000
[  574.080073] pcifront pci-0: read dev=0000:00:1f.6 - offset 0 size 4
[  574.083323] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462766806466000  ns_timeout: 1431462766806463000
[  576.081077] pcifront pci-0: read dev=0000:00:1f.7 - offset 0 size 4
[  576.083464] pcifront pci-0: pciback not responding!!! irq:24 irq_flags:ffff880018c00004 ns: 1431462768807992000  ns_timeout: 1431462768807468000
[  578.102629] blkfront: xvda: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;

Now pcifront timed out (and pciback reports a state change to 4 which is 
"connected" .. which also seems a wrong fallthrough somewhere.

After reverting the two commits again .. i get a working pci device and this 
output from pci-front:
[    0.628804] pcifront pci-0: Installing PCI frontend
[    0.629167] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.629225] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.629237] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.629254] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.629269] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.629285] pci_bus 0000:00: scanning bus
[    0.629303] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.629344] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164529000  ns_timeout: 1431470446164504000
[    0.629364] pcifront pci-0: read got back value 11113f6
[    0.629383] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.629413] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164599000  ns_timeout: 1431470446164589000
[    0.629433] pcifront pci-0: read got back value 0
[    0.629452] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.629483] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164670000  ns_timeout: 1431470446164659000
[    0.629504] pcifront pci-0: read got back value 210
[    0.629518] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
[    0.629547] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164733000  ns_timeout: 1431470446164724000
[    0.629566] pcifront pci-0: read got back value c0
[    0.629579] pcifront pci-0: read dev=0000:00:00.0 - offset c0 size 2
[    0.629609] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164796000  ns_timeout: 1431470446164786000
[    0.629632] pcifront pci-0: read got back value 1
[    0.629647] pcifront pci-0: read dev=0000:00:00.0 - offset 8 size 4
[    0.629676] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164863000  ns_timeout: 1431470446164853000
[    0.629696] pcifront pci-0: read got back value 4010010
[    0.629709] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
[    0.629720] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.629743] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444164929000  ns_timeout: 1431470446164920000
[    0.629774] pcifront pci-0: read got back value 210
[    0.629787] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
[    0.629828] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165014000  ns_timeout: 1431470446164999000
[    0.629847] pcifront pci-0: read got back value c0
[    0.629860] pcifront pci-0: read dev=0000:00:00.0 - offset c0 size 2
[    0.629889] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165076000  ns_timeout: 1431470446165067000
[    0.629919] pcifront pci-0: read got back value 1
[    0.629932] pcifront pci-0: read dev=0000:00:00.0 - offset 3d size 1
[    0.629966] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165152000  ns_timeout: 1431470446165138000
[    0.630007] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165194000  ns_timeout: 1431470446165138000
[    0.630020] pcifront pci-0: read got back value 1
[    0.630066] pcifront pci-0: read dev=0000:00:00.0 - offset 3c size 1
[    0.630099] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165285000  ns_timeout: 1431470446165275000
[    0.630120] pcifront pci-0: read got back value 16
[    0.630140] pcifront pci-0: read dev=0000:00:00.0 - offset 4 size 2
[    0.630172] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165358000  ns_timeout: 1431470446165348000
[    0.630204] pcifront pci-0: read got back value 101
[    0.630238] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165421000  ns_timeout: 1431470446165414000
[    0.630265] pcifront pci-0: read dev=0000:00:00.0 - offset 10 size 4
[    0.630292] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165480000  ns_timeout: 1431470446165472000
[    0.630323] pcifront pci-0: read got back value 7801
[    0.630354] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165540000  ns_timeout: 1431470446165531000
[    0.630389] pcifront pci-0: read dev=0000:00:00.0 - offset 10 size 4
[    0.630425] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165611000  ns_timeout: 1431470446165596000
[    0.630456] pcifront pci-0: read got back value 100
[    0.630489] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165675000  ns_timeout: 1431470446165665000
[    0.630529] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165715000  ns_timeout: 1431470446165703000
[    0.630571] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165757000  ns_timeout: 1431470446165703000
[    0.630613] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165800000  ns_timeout: 1431470446165703000
[    0.630655] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165842000  ns_timeout: 1431470446165703000
[    0.630698] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444165884000  ns_timeout: 1431470446165703000
[    0.630733] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
[    0.803637] pcifront pci-0: read dev=0000:00:00.0 - offset 4 size 2
[    0.803701] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444338888000  ns_timeout: 1431470446338836000
[    0.803712] pcifront pci-0: read got back value 101
[    0.803861] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444339049000  ns_timeout: 1431470446338910000
[    0.803876] pcifront pci-0: read dev=0000:00:00.0 - offset 14 size 4
[    0.803920] pcifront pci-0: ?!?!? pciback responded !!! irq:24 irq_flags:ffff88001ab40004 ns: 1431470444339108000  ns_timeout: 143147044633907400

etc.

On a side note .. why is it actually "scanning" the bus and all possible BDF's ?
Shouldn't pcifront already be able to know the virtual slot pciback has written 
to xenstore were the device(s) will be ?



The only direct change involving xen-pciback and pcifront seems to be:

commit ccc9d90a9a8b5c4ad7e9708ec41f75ff9e98d61d
Author: Wei Liu <wei.liu2@citrix.com>
Date:   Fri Apr 3 14:44:59 2015 +0800

    xenbus_client: Extend interface to support multi-page ring

But my bisect didn't point that out :S

Any pointers were to add more debug code ?
--
Sander




> ---
>  drivers/base/core.c |    4 ++++
>  1 file changed, 4 insertions(+)

> Index: linux-pm/drivers/base/core.c
> ===================================================================
> --- linux-pm.orig/drivers/base/core.c
> +++ linux-pm/drivers/base/core.c
> @@ -2167,11 +2167,15 @@ void set_primary_fwnode(struct device *d
>                 if (fwnode_is_primary(fn))
>                         fn = fn->secondary;
>  
> +               WARN_ON_ONCE(fn);
> +
>                 fwnode->secondary = fn;
>                 dev->fwnode = fwnode;
>         } else {
>                 dev->fwnode = fwnode_is_primary(dev->fwnode) ?
>                         dev->fwnode->secondary : NULL;
> +
> +               WARN_ON_ONCE(dev->fwnode);
>         }
>  }
>  EXPORT_SYMBOL_GPL(set_primary_fwnode);

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-12 22:52           ` Sander Eikelenboom
  (?)
  (?)
@ 2015-05-12 23:30           ` Rafael J. Wysocki
  -1 siblings, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12 23:30 UTC (permalink / raw)
  To: Sander Eikelenboom
  Cc: Konrad Rzeszutek Wilk, rafael.j.wysocki, linux-acpi,
	David Vrabel, xen-devel, linux-kernel

On Wednesday, May 13, 2015 12:52:36 AM Sander Eikelenboom wrote:
> 
> Tuesday, May 12, 2015, 5:45:06 PM, you wrote:
> 
> > On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
> >> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> >> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> >> > > Hello Sander,
> >> > > 
> >> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> >> > > 
> >> > > > Hi David / Konrad,
> >> > > 
> >> > > > Here the other problem i found, which is introduced somewhere in the 
> >> > > > 4.1 mergewindow:
> >> > > 
> >> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> >> > > > the PV Guest console:
> >> > > 
> >> > > > [    0.517392] crc32c_combine: 8373 self tests passed
> >> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> >> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> >> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> >> > > > [    0.517684] cpcihp_generic: not configured, disabling.
> >> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> >> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> >> > > > [    0.519849] usbcore: registered new interface driver udlfb
> >> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> >> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
> >> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> >> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> >> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> >> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> >> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> >> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
> >> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> >> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> >> > > > [    2.614682] Linux agpgart interface v0.103
> >> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> >> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> >> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
> >> > > > [    2.616529] brd: module loaded
> >> > > > [    2.617844] loop: module loaded
> >> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
> >> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
> >> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
> >> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
> >> > > > etc. etc. etc.
> >> > > 
> >> > > 
> >> > > > Where on 4.0.0 it get:
> >> > > 
> >> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> >> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> >> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> >> > > > [    0.444885] pcifront pci-0: publishing successful!
> >> > > > [    0.445302] usbcore: registered new interface driver udlfb
> >> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> >> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
> >> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> >> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> >> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> >> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> >> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> >> > > > [    0.447002] pci_bus 0000:00: scanning bus
> >> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> >> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> >> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> >> > > > [    0.449791] pci_bus 0000:00: fixups for bus
> >> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> >> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> >> > > > [    0.451991] Linux agpgart interface v0.103
> >> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> >> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> >> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
> >> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> >> > > 
> >> > > > But i thought the patches that would change pci bus scanning were destined for 
> >> > > > 4.2 though ...
> >> > > 
> >> > > > --
> >> > > > Sander
> >> > > 
> >> > > Hi David / Konrad,
> >> > > 
> >> > > I have bisected this one .. it leads to:
> >> > > 
> >> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> >> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >> > > Date:   Fri Apr 3 23:23:37 2015 +0200
> >> > > 
> >> > > device property: Make it possible to use secondary firmware nodes
> >> > > 
> >> > > Since i didn't see it directly related to pci-front, i double checked by 
> >> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> >> > > build depends on the other) on 4.1-rc2.
> >> > > 
> >> > > Reverting in the guest kernel indeed makes pci-front work correct again.
> >> > 
> >> > That is quite odd.
> >> 
> >> Yes, that's weird.
> >> 
> >> > And sadly I am due for vacation at the end of this week
> >> > so own't be able to look at this (and prepare an debug patch for the MSI
> >> > addendum debug patch either).
> >> > 
> >> > 
> >> > Rafael,
> >> > 
> >> > Were there any other bug reports about this particular commit?
> >> 
> >> Not that I'm aware of.
> >> 
> >> I'll look at that tomorrow when I'm a bit less tired.
> 
> > So since device_add_property_set() is not currently used, the commit it's
> > been bisected to should not have any functional effects on anything, but
> > nevertheless please apply the appended debug patch and see if you get any
> > extra output from it.
> 
> > That said, the commit might make a difference for Xen if there's an already
> > existing initialization ordering issue, because it slows down the ACPI/PCI
> > initialization a bit (due to the new checks in set_primary_fwnode()) and
> > something already racy with respect to it may be able to win the race now.
> 
> > So I'm wondering, for example, if adding something like msleep(100); at the
> > beginning of pcifront_init() (right after the initial checks) will make any
> > difference.
> 
> Hi Rafael,
> 
> The WARN's don't trigger, so it's a red herring i suppose :-(

It seems so.

The commit also changes the size of struct acpi_device, but that shouldn't
matter.

> I also tried the msleep(100), but that didn't change anything as well. 

I see.

Well, I'm not really familiar with the Xen-related code, so it is hard to
me to give you any useful advice here.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-12 22:52           ` Sander Eikelenboom
  (?)
@ 2015-05-12 23:30           ` Rafael J. Wysocki
  -1 siblings, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-12 23:30 UTC (permalink / raw)
  To: Sander Eikelenboom
  Cc: rafael.j.wysocki, linux-kernel, linux-acpi, David Vrabel, xen-devel

On Wednesday, May 13, 2015 12:52:36 AM Sander Eikelenboom wrote:
> 
> Tuesday, May 12, 2015, 5:45:06 PM, you wrote:
> 
> > On Tuesday, May 12, 2015 02:59:57 AM Rafael J. Wysocki wrote:
> >> On Monday, May 11, 2015 11:20:29 AM Konrad Rzeszutek Wilk wrote:
> >> > On Tue, May 05, 2015 at 12:18:49AM +0200, Sander Eikelenboom wrote:
> >> > > Hello Sander,
> >> > > 
> >> > > Monday, April 27, 2015, 5:48:00 PM, you wrote:
> >> > > 
> >> > > > Hi David / Konrad,
> >> > > 
> >> > > > Here the other problem i found, which is introduced somewhere in the 
> >> > > > 4.1 mergewindow:
> >> > > 
> >> > > > on 4.1.0-rc1 (with the one revert to get things booting) i get this in
> >> > > > the PV Guest console:
> >> > > 
> >> > > > [    0.517392] crc32c_combine: 8373 self tests passed
> >> > > > [    0.517608] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> >> > > > [    0.517655] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
> >> > > > [    0.517677] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
> >> > > > [    0.517684] cpcihp_generic: not configured, disabling.
> >> > > > [    0.517700] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> >> > > > [    0.517713] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> >> > > > [    0.519849] usbcore: registered new interface driver udlfb
> >> > > > [    0.613289] xen:xen_evtchn: Event-channel device installed
> >> > > > [    0.613436] pcifront pci-0: Installing PCI frontend
> >> > > > [    0.613578] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> >> > > > [    0.613616] pcifront pci-0: PCI host bridge to bus 0000:00
> >> > > > [    0.613624] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> >> > > > [    0.613631] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> >> > > > [    0.613638] pci_bus 0000:00: root bus resource [bus 00-ff]
> >> > > > [    0.616672] pcifront pci-0: pciback not responding!!!
> >> > > > [    2.613762] clocksource tsc: mask: 0xffffffffffffffff max_cycles: 0x2e20fd6f2ba, max_idle_ns: 440795302556 ns
> >> > > > [    2.614275] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> >> > > > [    2.614682] Linux agpgart interface v0.103
> >> > > > [    2.614731] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> >> > > > [    2.614762] [drm] Initialized drm 1.1.0 20060810
> >> > > > [    2.614789] [drm] radeon kernel modesetting enabled.
> >> > > > [    2.616529] brd: module loaded
> >> > > > [    2.617844] loop: module loaded
> >> > > > [    2.620008] pcifront pci-0: pciback not responding!!!
> >> > > > [    4.621490] pcifront pci-0: pciback not responding!!!
> >> > > > [    6.621866] pcifront pci-0: pciback not responding!!!
> >> > > > [    8.622421] pcifront pci-0: pciback not responding!!!
> >> > > > etc. etc. etc.
> >> > > 
> >> > > 
> >> > > > Where on 4.0.0 it get:
> >> > > 
> >> > > > [    0.442554] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> >> > > > [    0.442583] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
> >> > > > [    0.443293] pcifront pci-0: Allocated pdev @ 0xffff88001ab23c00 pdev->sh_info @ 0xffff88001937f000
> >> > > > [    0.444885] pcifront pci-0: publishing successful!
> >> > > > [    0.445302] usbcore: registered new interface driver udlfb
> >> > > > [    0.445829] xen:xen_evtchn: Event-channel device installed
> >> > > > [    0.446499] pcifront pci-0: Installing PCI frontend
> >> > > > [    0.446715] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> >> > > > [    0.446951] pcifront pci-0: PCI host bridge to bus 0000:00
> >> > > > [    0.446960] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> >> > > > [    0.446968] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> >> > > > [    0.446988] pci_bus 0000:00: root bus resource [bus 00-ff]
> >> > > > [    0.447002] pci_bus 0000:00: scanning bus
> >> > > > [    0.447140] pci 0000:00:00.0: [13f6:0111] type 00 class 0x040100
> >> > > > [    0.447520] pci 0000:00:00.0: reg 0x10: [io  0x7800-0x78ff]
> >> > > > [    0.449148] pci 0000:00:00.0: supports D1 D2
> >> > > > [    0.449791] pci_bus 0000:00: fixups for bus
> >> > > > [    0.449794] pci_bus 0000:00: bus scan returning with max=00
> >> > > > [    0.450604] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> >> > > > [    0.451991] Linux agpgart interface v0.103
> >> > > > [    0.452160] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> >> > > > [    0.452222] [drm] Initialized drm 1.1.0 20060810
> >> > > > [    0.452300] [drm] radeon kernel modesetting enabled.
> >> > > > [    0.462384] pcifront pci-0: claiming resource 0000:00:00.0/0
> >> > > 
> >> > > > But i thought the patches that would change pci bus scanning were destined for 
> >> > > > 4.2 though ...
> >> > > 
> >> > > > --
> >> > > > Sander
> >> > > 
> >> > > Hi David / Konrad,
> >> > > 
> >> > > I have bisected this one .. it leads to:
> >> > > 
> >> > > commit 97badf873ab60e841243b66133ff9eff2a46ef29
> >> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >> > > Date:   Fri Apr 3 23:23:37 2015 +0200
> >> > > 
> >> > > device property: Make it possible to use secondary firmware nodes
> >> > > 
> >> > > Since i didn't see it directly related to pci-front, i double checked by 
> >> > > reverting this commit(and 9b73262ccbf2fb0060303f047863214269e64f9a since it 
> >> > > build depends on the other) on 4.1-rc2.
> >> > > 
> >> > > Reverting in the guest kernel indeed makes pci-front work correct again.
> >> > 
> >> > That is quite odd.
> >> 
> >> Yes, that's weird.
> >> 
> >> > And sadly I am due for vacation at the end of this week
> >> > so own't be able to look at this (and prepare an debug patch for the MSI
> >> > addendum debug patch either).
> >> > 
> >> > 
> >> > Rafael,
> >> > 
> >> > Were there any other bug reports about this particular commit?
> >> 
> >> Not that I'm aware of.
> >> 
> >> I'll look at that tomorrow when I'm a bit less tired.
> 
> > So since device_add_property_set() is not currently used, the commit it's
> > been bisected to should not have any functional effects on anything, but
> > nevertheless please apply the appended debug patch and see if you get any
> > extra output from it.
> 
> > That said, the commit might make a difference for Xen if there's an already
> > existing initialization ordering issue, because it slows down the ACPI/PCI
> > initialization a bit (due to the new checks in set_primary_fwnode()) and
> > something already racy with respect to it may be able to win the race now.
> 
> > So I'm wondering, for example, if adding something like msleep(100); at the
> > beginning of pcifront_init() (right after the initial checks) will make any
> > difference.
> 
> Hi Rafael,
> 
> The WARN's don't trigger, so it's a red herring i suppose :-(

It seems so.

The commit also changes the size of struct acpi_device, but that shouldn't
matter.

> I also tried the msleep(100), but that didn't change anything as well. 

I see.

Well, I'm not really familiar with the Xen-related code, so it is hard to
me to give you any useful advice here.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-12 22:52           ` Sander Eikelenboom
@ 2015-05-14 22:44             ` Konrad Rzeszutek Wilk, David Vrabel
  -1 siblings, 0 replies; 30+ messages in thread
From: Konrad Rzeszutek Wilk, David Vrabel @ 2015-05-14 22:44 UTC (permalink / raw)
  To: Sander Eikelenboom
  Cc: linux-acpi, rafael.j.wysocki, Rafael J. Wysocki, linux-kernel, xen-devel

Hi Konrad / David,

One a big snip on this thread, got some more debug info, hopefully this will 
lead to something:

On a working kernel (with the two seemingly non related patches reverted) i get:

[    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
[    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.721640] pcifront pci-0: publishing successful!
[    0.723684] usbcore: registered new interface driver udlfb
[    0.724664] xen:xen_evtchn: Event-channel device installed
[    0.726597] pcifront pci-0: Installing PCI frontend
[    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.727475] pci_bus 0000:00: scanning bus
[    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.728253] Linux agpgart interface v0.103
[    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.728474] [drm] Initialized drm 1.1.0 20060810
[    0.728551] [drm] radeon kernel modesetting enabled.
[    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
[    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: read got back value 11113f6
[    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.744976] brd: module loaded
[    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
[    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: read got back value 0
[    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.750155] loop: module loaded
[    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
[    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: read got back value 210
[    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


Were as in the non-working situation i get:

[    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
[    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.755215] pcifront pci-0: publishing successful!
[    0.757341] usbcore: registered new interface driver udlfb
[    0.758365] xen:xen_evtchn: Event-channel device installed
[    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.760819] pcifront pci-0: Installing PCI frontend
[    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.761783] pci_bus 0000:00: scanning bus
[    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.767207] Linux agpgart interface v0.103
[    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.767439] [drm] Initialized drm 1.1.0 20060810
[    0.767515] [drm] radeon kernel modesetting enabled.
[    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
[    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
[    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
[    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
[    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.764231] brd: module loaded
[    4.765508] loop: module loaded
[    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
[    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
[    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
[    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
[    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
[    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
[   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
[   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
[   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

Question is .. why ?

--
Sander

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
@ 2015-05-14 22:44             ` Konrad Rzeszutek Wilk, David Vrabel
  0 siblings, 0 replies; 30+ messages in thread
From: Konrad Rzeszutek Wilk, David Vrabel @ 2015-05-14 22:44 UTC (permalink / raw)
  To: Sander Eikelenboom
  Cc: Rafael J. Wysocki, rafael.j.wysocki, linux-acpi, xen-devel, linux-kernel

Hi Konrad / David,

One a big snip on this thread, got some more debug info, hopefully this will 
lead to something:

On a working kernel (with the two seemingly non related patches reverted) i get:

[    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
[    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.721640] pcifront pci-0: publishing successful!
[    0.723684] usbcore: registered new interface driver udlfb
[    0.724664] xen:xen_evtchn: Event-channel device installed
[    0.726597] pcifront pci-0: Installing PCI frontend
[    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.727475] pci_bus 0000:00: scanning bus
[    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.728253] Linux agpgart interface v0.103
[    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.728474] [drm] Initialized drm 1.1.0 20060810
[    0.728551] [drm] radeon kernel modesetting enabled.
[    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
[    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: read got back value 11113f6
[    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.744976] brd: module loaded
[    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
[    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: read got back value 0
[    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.750155] loop: module loaded
[    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
[    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: read got back value 210
[    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


Were as in the non-working situation i get:

[    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
[    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.755215] pcifront pci-0: publishing successful!
[    0.757341] usbcore: registered new interface driver udlfb
[    0.758365] xen:xen_evtchn: Event-channel device installed
[    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.760819] pcifront pci-0: Installing PCI frontend
[    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.761783] pci_bus 0000:00: scanning bus
[    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.767207] Linux agpgart interface v0.103
[    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.767439] [drm] Initialized drm 1.1.0 20060810
[    0.767515] [drm] radeon kernel modesetting enabled.
[    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
[    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
[    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
[    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
[    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.764231] brd: module loaded
[    4.765508] loop: module loaded
[    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
[    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
[    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
[    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
[    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
[    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
[   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
[   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
[   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

Question is .. why ?

--
Sander


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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-12 22:52           ` Sander Eikelenboom
@ 2015-05-14 22:47             ` Sander Eikelenboom
  -1 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-14 22:47 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, David Vrabel
  Cc: Rafael J. Wysocki, rafael.j.wysocki, linux-acpi, xen-devel, linux-kernel

Sorry for the resend, i messed up the to's en from's.

Hi Konrad / David,

One big snip on this thread, got some more debug info, hopefully this will 
lead to something:

On a working kernel (with the two seemingly non related patches reverted) i get:

[    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
[    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.721640] pcifront pci-0: publishing successful!
[    0.723684] usbcore: registered new interface driver udlfb
[    0.724664] xen:xen_evtchn: Event-channel device installed
[    0.726597] pcifront pci-0: Installing PCI frontend
[    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.727475] pci_bus 0000:00: scanning bus
[    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.728253] Linux agpgart interface v0.103
[    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.728474] [drm] Initialized drm 1.1.0 20060810
[    0.728551] [drm] radeon kernel modesetting enabled.
[    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
[    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: read got back value 11113f6
[    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.744976] brd: module loaded
[    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
[    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: read got back value 0
[    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.750155] loop: module loaded
[    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
[    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: read got back value 210
[    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


Were as in the non-working situation i get:

[    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
[    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.755215] pcifront pci-0: publishing successful!
[    0.757341] usbcore: registered new interface driver udlfb
[    0.758365] xen:xen_evtchn: Event-channel device installed
[    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.760819] pcifront pci-0: Installing PCI frontend
[    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.761783] pci_bus 0000:00: scanning bus
[    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.767207] Linux agpgart interface v0.103
[    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.767439] [drm] Initialized drm 1.1.0 20060810
[    0.767515] [drm] radeon kernel modesetting enabled.
[    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
[    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
[    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
[    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
[    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.764231] brd: module loaded
[    4.765508] loop: module loaded
[    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
[    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
[    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
[    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
[    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
[    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
[   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
[   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
[   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

Question is .. why ?

--
Sander


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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
@ 2015-05-14 22:47             ` Sander Eikelenboom
  0 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-14 22:47 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, David Vrabel
  Cc: Rafael J. Wysocki, rafael.j.wysocki, linux-acpi, xen-devel, linux-kernel

Sorry for the resend, i messed up the to's en from's.

Hi Konrad / David,

One big snip on this thread, got some more debug info, hopefully this will 
lead to something:

On a working kernel (with the two seemingly non related patches reverted) i get:

[    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
[    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.721640] pcifront pci-0: publishing successful!
[    0.723684] usbcore: registered new interface driver udlfb
[    0.724664] xen:xen_evtchn: Event-channel device installed
[    0.726597] pcifront pci-0: Installing PCI frontend
[    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.727475] pci_bus 0000:00: scanning bus
[    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.728253] Linux agpgart interface v0.103
[    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.728474] [drm] Initialized drm 1.1.0 20060810
[    0.728551] [drm] radeon kernel modesetting enabled.
[    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
[    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: read got back value 11113f6
[    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.744976] brd: module loaded
[    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
[    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: read got back value 0
[    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.750155] loop: module loaded
[    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
[    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: read got back value 210
[    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


Were as in the non-working situation i get:

[    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
[    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.755215] pcifront pci-0: publishing successful!
[    0.757341] usbcore: registered new interface driver udlfb
[    0.758365] xen:xen_evtchn: Event-channel device installed
[    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.760819] pcifront pci-0: Installing PCI frontend
[    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.761783] pci_bus 0000:00: scanning bus
[    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.767207] Linux agpgart interface v0.103
[    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.767439] [drm] Initialized drm 1.1.0 20060810
[    0.767515] [drm] radeon kernel modesetting enabled.
[    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
[    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
[    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
[    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
[    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.764231] brd: module loaded
[    4.765508] loop: module loaded
[    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
[    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
[    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
[    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
[    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
[    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
[   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
[   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
[   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

Question is .. why ?

--
Sander


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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-12 22:52           ` Sander Eikelenboom
                             ` (4 preceding siblings ...)
  (?)
@ 2015-05-14 22:47           ` Sander Eikelenboom
  -1 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-14 22:47 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, David Vrabel
  Cc: linux-acpi, rafael.j.wysocki, Rafael J. Wysocki, linux-kernel, xen-devel

Sorry for the resend, i messed up the to's en from's.

Hi Konrad / David,

One big snip on this thread, got some more debug info, hopefully this will 
lead to something:

On a working kernel (with the two seemingly non related patches reverted) i get:

[    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
[    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.721640] pcifront pci-0: publishing successful!
[    0.723684] usbcore: registered new interface driver udlfb
[    0.724664] xen:xen_evtchn: Event-channel device installed
[    0.726597] pcifront pci-0: Installing PCI frontend
[    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.727475] pci_bus 0000:00: scanning bus
[    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.728253] Linux agpgart interface v0.103
[    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.728474] [drm] Initialized drm 1.1.0 20060810
[    0.728551] [drm] radeon kernel modesetting enabled.
[    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
[    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.730319] pcifront pci-0: read got back value 11113f6
[    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
[    0.744976] brd: module loaded
[    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
[    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
[    0.745204] pcifront pci-0: read got back value 0
[    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
[    0.750155] loop: module loaded
[    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
[    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
[    0.752527] pcifront pci-0: read got back value 210
[    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


Were as in the non-working situation i get:

[    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
[    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
[    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
[    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
[    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
[    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
[    0.755215] pcifront pci-0: publishing successful!
[    0.757341] usbcore: registered new interface driver udlfb
[    0.758365] xen:xen_evtchn: Event-channel device installed
[    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.760819] pcifront pci-0: Installing PCI frontend
[    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
[    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
[    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
[    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.761783] pci_bus 0000:00: scanning bus
[    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
[    0.767207] Linux agpgart interface v0.103
[    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    0.767439] [drm] Initialized drm 1.1.0 20060810
[    0.767515] [drm] radeon kernel modesetting enabled.
[    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
[    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
[    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
[    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
[    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
[    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
[    4.764231] brd: module loaded
[    4.765508] loop: module loaded
[    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
[    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
[    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
[    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
[    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
[    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
[    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
[    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
[   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
[   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
[   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
[   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
[   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

Question is .. why ?

--
Sander

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest  pci passthrough:  pcifront pci-0: pciback not responding!!!
  2015-05-14 22:47             ` Sander Eikelenboom
  (?)
@ 2015-05-22  8:11             ` Sander Eikelenboom
  -1 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-22  8:11 UTC (permalink / raw)
  To: David Vrabel
  Cc: Konrad Rzeszutek Wilk, xen-devel, linux-kernel, Boris Ostrovsky

Hello Sander,

Friday, May 15, 2015, 12:47:27 AM, you wrote:

> Sorry for the resend, i messed up the to's en from's.

> Hi Konrad / David,

> One big snip on this thread, got some more debug info, hopefully this will 
> lead to something:

> On a working kernel (with the two seemingly non related patches reverted) i get:

> [    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
> [    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
> [    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
> [    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
> [    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
> [    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
> [    0.721640] pcifront pci-0: publishing successful!
> [    0.723684] usbcore: registered new interface driver udlfb
> [    0.724664] xen:xen_evtchn: Event-channel device installed
> [    0.726597] pcifront pci-0: Installing PCI frontend
> [    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> [    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
> [    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> [    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.727475] pci_bus 0000:00: scanning bus
> [    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
> [    0.728253] Linux agpgart interface v0.103
> [    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> [    0.728474] [drm] Initialized drm 1.1.0 20060810
> [    0.728551] [drm] radeon kernel modesetting enabled.
> [    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
> [    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    0.730319] pcifront pci-0: read got back value 11113f6
> [    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
> [    0.744976] brd: module loaded
> [    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
> [    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
> [    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
> [    0.745204] pcifront pci-0: read got back value 0
> [    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
> [    0.750155] loop: module loaded
> [    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
> [    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
> [    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
> [    0.752527] pcifront pci-0: read got back value 210
> [    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


> Were as in the non-working situation i get:

> [    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
> [    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
> [    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
> [    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
> [    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
> [    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
> [    0.755215] pcifront pci-0: publishing successful!
> [    0.757341] usbcore: registered new interface driver udlfb
> [    0.758365] xen:xen_evtchn: Event-channel device installed
> [    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.760819] pcifront pci-0: Installing PCI frontend
> [    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> [    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
> [    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> [    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.761783] pci_bus 0000:00: scanning bus
> [    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
> [    0.767207] Linux agpgart interface v0.103
> [    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> [    0.767439] [drm] Initialized drm 1.1.0 20060810
> [    0.767515] [drm] radeon kernel modesetting enabled.
> [    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
> [    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
> [    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
> [    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
> [    4.764231] brd: module loaded
> [    4.765508] loop: module loaded
> [    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
> [    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
> [    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
> [    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
> [    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
> [    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
> [   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
> [   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
> [   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
> [   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


> So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
> xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

> Question is .. why ?

> --
> Sander


Ping ?

David / Boris,

Any idea, since Konrad seems to be off for 2 weeks and we are at rc4 now.

--
Sander


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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-14 22:47             ` Sander Eikelenboom
  (?)
  (?)
@ 2015-05-22  8:11             ` Sander Eikelenboom
  -1 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-22  8:11 UTC (permalink / raw)
  To: David Vrabel; +Cc: xen-devel, Boris Ostrovsky, linux-kernel

Hello Sander,

Friday, May 15, 2015, 12:47:27 AM, you wrote:

> Sorry for the resend, i messed up the to's en from's.

> Hi Konrad / David,

> One big snip on this thread, got some more debug info, hopefully this will 
> lead to something:

> On a working kernel (with the two seemingly non related patches reverted) i get:

> [    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
> [    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
> [    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
> [    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
> [    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
> [    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
> [    0.721640] pcifront pci-0: publishing successful!
> [    0.723684] usbcore: registered new interface driver udlfb
> [    0.724664] xen:xen_evtchn: Event-channel device installed
> [    0.726597] pcifront pci-0: Installing PCI frontend
> [    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> [    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
> [    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> [    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.727475] pci_bus 0000:00: scanning bus
> [    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
> [    0.728253] Linux agpgart interface v0.103
> [    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> [    0.728474] [drm] Initialized drm 1.1.0 20060810
> [    0.728551] [drm] radeon kernel modesetting enabled.
> [    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
> [    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    0.730319] pcifront pci-0: read got back value 11113f6
> [    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
> [    0.744976] brd: module loaded
> [    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
> [    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
> [    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
> [    0.745204] pcifront pci-0: read got back value 0
> [    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
> [    0.750155] loop: module loaded
> [    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
> [    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
> [    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
> [    0.752527] pcifront pci-0: read got back value 210
> [    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1


> Were as in the non-working situation i get:

> [    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
> [    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
> [    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
> [    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
> [    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
> [    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
> [    0.755215] pcifront pci-0: publishing successful!
> [    0.757341] usbcore: registered new interface driver udlfb
> [    0.758365] xen:xen_evtchn: Event-channel device installed
> [    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.760819] pcifront pci-0: Installing PCI frontend
> [    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> [    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
> [    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> [    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.761783] pci_bus 0000:00: scanning bus
> [    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
> [    0.767207] Linux agpgart interface v0.103
> [    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> [    0.767439] [drm] Initialized drm 1.1.0 20060810
> [    0.767515] [drm] radeon kernel modesetting enabled.
> [    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
> [    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
> [    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
> [    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
> [    4.764231] brd: module loaded
> [    4.765508] loop: module loaded
> [    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
> [    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
> [    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
> [    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
> [    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
> [    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
> [    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
> [   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
> [   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
> [   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> [   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> [   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
> [   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4


> So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in 
> xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...

> Question is .. why ?

> --
> Sander


Ping ?

David / Boris,

Any idea, since Konrad seems to be off for 2 weeks and we are at rc4 now.

--
Sander

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-25 23:42   ` Rafael J. Wysocki
@ 2015-05-26  1:08     ` Rafael J. Wysocki
  0 siblings, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-26  1:08 UTC (permalink / raw)
  To: Boris Ostrovsky, Sander Eikelenboom; +Cc: xen-devel, david.vrabel, linux-kernel

On Tuesday, May 26, 2015 01:42:16 AM Rafael J. Wysocki wrote:
> On Tuesday, May 26, 2015 01:22:12 AM Rafael J. Wysocki wrote:
> > On Friday, May 22, 2015 09:53:37 PM Boris Ostrovsky wrote:
> > > On 05/22/2015 04:11 AM, Sander Eikelenboom wrote:
> > > > Hello Sander,
> > > >
> 
> [cut]
> 
> > > (+Rafael again)
> > > 
> > > So the immediate cause of those errors is that pdev->evtchn is 0. 
> > > Backend is not notified and things not go well then.
> > > 
> > > And it is indeed caused by 97badf873ab60e841243b66133ff9eff2a46ef29:
> > > 
> > > We allocate pcifront_sd in pcifront_scan_root() and then pass it to 
> > > pci_scan_bus_parented() as sysdata. Eventually this sysdata is used in 
> > > pcibios_root_bridge_prepare() as pci_sysdata. It is dereferenced as 
> > > pci_sysdata->companion (which I believe is aliased to pcifront_sd->pdev)
> 
> Well, there is an int node field between them, so I'm not sure.
> 
> > > and then set_primary_fwnode() writes it, thus corrupting 
> > > pcifront_sd->pdev (and I think this is what sets evtchn to zero).
> 
> So the corruption happens when set_primary_fwnode() writes NULL to the
> 'secondary' field of object pointed to by 'fwnode'.
> 
> This isn't strictly necessary and we might avoid the crash by only
> writing to fwnode->secondary if fn is not NULL.
> 
> So, Sander please test the patch below too if possible.
> 
> Of course, that doesn't solve a problem of passing an incorrect pointer
> to ACPI_COMPANION_SET() in pcibios_root_bridge_prepare().

And here's one more thing to test.

Please let me know (a) if you get the stack trace from the WARN_ON() in the
patch below and (b) whether or not things work again with this patch applied.


---
 arch/x86/pci/acpi.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Index: linux-pm/arch/x86/pci/acpi.c
===================================================================
--- linux-pm.orig/arch/x86/pci/acpi.c
+++ linux-pm/arch/x86/pci/acpi.c
@@ -483,8 +483,12 @@ struct pci_bus *pci_acpi_scan_root(struc
 int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 {
 	struct pci_sysdata *sd = bridge->bus->sysdata;
+	struct acpi_device *companion = sd->companion;
+
+	/* Protect against passing pointers of an incorrect type via sysdata. */
+	if (!WARN_ON(companion && companion->fwnode.type != FWNODE_ACPI))
+		ACPI_COMPANION_SET(&bridge->dev, companion);
 
-	ACPI_COMPANION_SET(&bridge->dev, sd->companion);
 	return 0;
 }

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-25 23:22 ` [Xen-devel] " Rafael J. Wysocki
  2015-05-25 23:42   ` Rafael J. Wysocki
@ 2015-05-25 23:42   ` Rafael J. Wysocki
  1 sibling, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-25 23:42 UTC (permalink / raw)
  To: Boris Ostrovsky, Sander Eikelenboom; +Cc: xen-devel, david.vrabel, linux-kernel

On Tuesday, May 26, 2015 01:22:12 AM Rafael J. Wysocki wrote:
> On Friday, May 22, 2015 09:53:37 PM Boris Ostrovsky wrote:
> > On 05/22/2015 04:11 AM, Sander Eikelenboom wrote:
> > > Hello Sander,
> > >

[cut]

> > (+Rafael again)
> > 
> > So the immediate cause of those errors is that pdev->evtchn is 0. 
> > Backend is not notified and things not go well then.
> > 
> > And it is indeed caused by 97badf873ab60e841243b66133ff9eff2a46ef29:
> > 
> > We allocate pcifront_sd in pcifront_scan_root() and then pass it to 
> > pci_scan_bus_parented() as sysdata. Eventually this sysdata is used in 
> > pcibios_root_bridge_prepare() as pci_sysdata. It is dereferenced as 
> > pci_sysdata->companion (which I believe is aliased to pcifront_sd->pdev)

Well, there is an int node field between them, so I'm not sure.

> > and then set_primary_fwnode() writes it, thus corrupting 
> > pcifront_sd->pdev (and I think this is what sets evtchn to zero).

So the corruption happens when set_primary_fwnode() writes NULL to the
'secondary' field of object pointed to by 'fwnode'.

This isn't strictly necessary and we might avoid the crash by only
writing to fwnode->secondary if fn is not NULL.

So, Sander please test the patch below too if possible.

Of course, that doesn't solve a problem of passing an incorrect pointer
to ACPI_COMPANION_SET() in pcibios_root_bridge_prepare().

---
 drivers/base/core.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-pm/drivers/base/core.c
===================================================================
--- linux-pm.orig/drivers/base/core.c
+++ linux-pm/drivers/base/core.c
@@ -2167,7 +2167,9 @@ void set_primary_fwnode(struct device *d
 		if (fwnode_is_primary(fn))
 			fn = fn->secondary;
 
-		fwnode->secondary = fn;
+		if (fn)
+			fwnode->secondary = fn;
+
 		dev->fwnode = fwnode;
 	} else {
 		dev->fwnode = fwnode_is_primary(dev->fwnode) ?

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-23  1:53 [Xen-devel] " Boris Ostrovsky
  2015-05-23  7:58 ` Sander Eikelenboom
@ 2015-05-25 23:22 ` Rafael J. Wysocki
  2015-05-25 23:22 ` [Xen-devel] " Rafael J. Wysocki
  2 siblings, 0 replies; 30+ messages in thread
From: Rafael J. Wysocki @ 2015-05-25 23:22 UTC (permalink / raw)
  To: Boris Ostrovsky; +Cc: linux, david.vrabel, linux-kernel, xen-devel

On Friday, May 22, 2015 09:53:37 PM Boris Ostrovsky wrote:
> On 05/22/2015 04:11 AM, Sander Eikelenboom wrote:
> > Hello Sander,
> >
> > Friday, May 15, 2015, 12:47:27 AM, you wrote:
> >
> >> Sorry for the resend, i messed up the to's en from's.
> >
> >> Hi Konrad / David,
> >
> >> One big snip on this thread, got some more debug info, hopefully this will
> >> lead to something:
> >
> >> On a working kernel (with the two seemingly non related patches reverted) i get:
> >
> >> [    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
> >> [    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
> >> [    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
> >> [    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
> >> [    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
> >> [    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
> >> [    0.721640] pcifront pci-0: publishing successful!
> >> [    0.723684] usbcore: registered new interface driver udlfb
> >> [    0.724664] xen:xen_evtchn: Event-channel device installed
> >> [    0.726597] pcifront pci-0: Installing PCI frontend
> >> [    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> >> [    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> >> [    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
> >> [    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> >> [    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> >> [    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
> >> [    0.727475] pci_bus 0000:00: scanning bus
> >> [    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
> >> [    0.728253] Linux agpgart interface v0.103
> >> [    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> >> [    0.728474] [drm] Initialized drm 1.1.0 20060810
> >> [    0.728551] [drm] radeon kernel modesetting enabled.
> >> [    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
> >> [    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [    0.730319] pcifront pci-0: read got back value 11113f6
> >> [    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
> >> [    0.744976] brd: module loaded
> >> [    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
> >> [    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
> >> [    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
> >> [    0.745204] pcifront pci-0: read got back value 0
> >> [    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
> >> [    0.750155] loop: module loaded
> >> [    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
> >> [    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
> >> [    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
> >> [    0.752527] pcifront pci-0: read got back value 210
> >> [    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
> >
> >
> >> Were as in the non-working situation i get:
> >
> >> [    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
> >> [    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
> >> [    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
> >> [    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
> >> [    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
> >> [    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
> >> [    0.755215] pcifront pci-0: publishing successful!
> >> [    0.757341] usbcore: registered new interface driver udlfb
> >> [    0.758365] xen:xen_evtchn: Event-channel device installed
> >> [    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> >> [    0.760819] pcifront pci-0: Installing PCI frontend
> >> [    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
> >> [    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
> >> [    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> >> [    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
> >> [    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
> >> [    0.761783] pci_bus 0000:00: scanning bus
> >> [    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
> >> [    0.767207] Linux agpgart interface v0.103
> >> [    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
> >> [    0.767439] [drm] Initialized drm 1.1.0 20060810
> >> [    0.767515] [drm] radeon kernel modesetting enabled.
> >> [    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
> >> [    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
> >> [    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
> >> [    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
> >> [    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
> >> [    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
> >> [    4.764231] brd: module loaded
> >> [    4.765508] loop: module loaded
> >> [    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
> >> [    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
> >> [    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
> >> [    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
> >> [    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
> >> [    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
> >> [    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
> >> [    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
> >> [   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
> >> [   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
> >> [   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
> >> [   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
> >> [   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
> >> [   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4
> >
> >
> >> So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in
> >> xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...
> >
> >> Question is .. why ?
> >
> >> --
> >> Sander
> >
> >
> > Ping ?
> >
> > David / Boris,
> >
> > Any idea, since Konrad seems to be off for 2 weeks and we are at rc4 now.
> >
> 
> (+Rafael again)
> 
> So the immediate cause of those errors is that pdev->evtchn is 0. 
> Backend is not notified and things not go well then.
> 
> And it is indeed caused by 97badf873ab60e841243b66133ff9eff2a46ef29:
> 
> We allocate pcifront_sd in pcifront_scan_root() and then pass it to 
> pci_scan_bus_parented() as sysdata. Eventually this sysdata is used in 
> pcibios_root_bridge_prepare() as pci_sysdata. It is dereferenced as 
> pci_sysdata->companion (which I believe is aliased to pcifront_sd->pdev) 
> and then set_primary_fwnode() writes it, thus corrupting 
> pcifront_sd->pdev (and I think this is what sets evtchn to zero).

Thanks for the analysis!

OK, so the pcibios_root_bridge_prepare() in arch/x86/pci/acpi.c assumes
that bridge->bus->sysdata points to a struct pci_sysdata which has a
'companion' of type struct acpi_device.

This is supposed to come from pci_acpi_scan_root() and not something else.

> I don't have a fix for that. I will see what we can do on Tuesday since 
> I am out on Monday.
> 
> Question to Rafael about commit 97badf873ab60e84124: is it really safe 
> to assume that bridge->bus->sysdata is a pointer to  pci_sysdata in 
> pcibios_root_bridge_prepare()? It is declared as 'void *'.

That's because other architectures pass different things through it IIRC.

It should be a struct pci_sysdata pointer on x86 and ia64 at least.  It is a bug
otherwise and things only worked by accident before.  In particular, the ACPI
companion of bridge->dev was set to something random located at the end of
the struct pcifront_sd or behind it (on 64 bit).  If referenced, that would
crash the kernel.

Padding struct pcifront_sd to match the layout of struct pci_sysdata should
make it work.  Of course, a real fix would be to use a different
pcibios_root_bridge_prepare() for Xen.

Sander, can you please check if the patch below (untested) makes any difference?

---
 drivers/pci/xen-pcifront.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-pm/drivers/pci/xen-pcifront.c
===================================================================
--- linux-pm.orig/drivers/pci/xen-pcifront.c
+++ linux-pm/drivers/pci/xen-pcifront.c
@@ -53,6 +53,8 @@ struct pcifront_device {
 
 struct pcifront_sd {
 	int domain;
+	int node;
+	void *padding[2];
 	struct pcifront_device *pdev;
 };
 
@@ -465,7 +467,7 @@ static int pcifront_scan_root(struct pci
 		 domain, bus);
 
 	bus_entry = kmalloc(sizeof(*bus_entry), GFP_KERNEL);
-	sd = kmalloc(sizeof(*sd), GFP_KERNEL);
+	sd = kzalloc(sizeof(*sd), GFP_KERNEL);
 	if (!bus_entry || !sd) {
 		err = -ENOMEM;
 		goto err_out;

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
  2015-05-23  1:53 [Xen-devel] " Boris Ostrovsky
@ 2015-05-23  7:58 ` Sander Eikelenboom
  2015-05-25 23:22 ` Rafael J. Wysocki
  2015-05-25 23:22 ` [Xen-devel] " Rafael J. Wysocki
  2 siblings, 0 replies; 30+ messages in thread
From: Sander Eikelenboom @ 2015-05-23  7:58 UTC (permalink / raw)
  To: Boris Ostrovsky; +Cc: xen-devel, Rafael J. Wysocki, david.vrabel, linux-kernel


Saturday, May 23, 2015, 3:53:37 AM, you wrote:

> On 05/22/2015 04:11 AM, Sander Eikelenboom wrote:
>> Hello Sander,
>>
>> Friday, May 15, 2015, 12:47:27 AM, you wrote:
>>
>>> Sorry for the resend, i messed up the to's en from's.
>>
>>> Hi Konrad / David,
>>
>>> One big snip on this thread, got some more debug info, hopefully this will
>>> lead to something:
>>
>>> On a working kernel (with the two seemingly non related patches reverted) i get:
>>
>>> [    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
>>> [    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
>>> [    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
>>> [    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
>>> [    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
>>> [    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
>>> [    0.721640] pcifront pci-0: publishing successful!
>>> [    0.723684] usbcore: registered new interface driver udlfb
>>> [    0.724664] xen:xen_evtchn: Event-channel device installed
>>> [    0.726597] pcifront pci-0: Installing PCI frontend
>>> [    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>>> [    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>>> [    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
>>> [    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>>> [    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>>> [    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
>>> [    0.727475] pci_bus 0000:00: scanning bus
>>> [    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
>>> [    0.728253] Linux agpgart interface v0.103
>>> [    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>>> [    0.728474] [drm] Initialized drm 1.1.0 20060810
>>> [    0.728551] [drm] radeon kernel modesetting enabled.
>>> [    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
>>> [    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [    0.730319] pcifront pci-0: read got back value 11113f6
>>> [    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
>>> [    0.744976] brd: module loaded
>>> [    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
>>> [    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
>>> [    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
>>> [    0.745204] pcifront pci-0: read got back value 0
>>> [    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
>>> [    0.750155] loop: module loaded
>>> [    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
>>> [    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
>>> [    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
>>> [    0.752527] pcifront pci-0: read got back value 210
>>> [    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
>>
>>
>>> Were as in the non-working situation i get:
>>
>>> [    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
>>> [    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
>>> [    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
>>> [    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
>>> [    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
>>> [    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
>>> [    0.755215] pcifront pci-0: publishing successful!
>>> [    0.757341] usbcore: registered new interface driver udlfb
>>> [    0.758365] xen:xen_evtchn: Event-channel device installed
>>> [    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>>> [    0.760819] pcifront pci-0: Installing PCI frontend
>>> [    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>>> [    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
>>> [    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>>> [    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>>> [    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
>>> [    0.761783] pci_bus 0000:00: scanning bus
>>> [    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
>>> [    0.767207] Linux agpgart interface v0.103
>>> [    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>>> [    0.767439] [drm] Initialized drm 1.1.0 20060810
>>> [    0.767515] [drm] radeon kernel modesetting enabled.
>>> [    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
>>> [    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
>>> [    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
>>> [    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
>>> [    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
>>> [    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
>>> [    4.764231] brd: module loaded
>>> [    4.765508] loop: module loaded
>>> [    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
>>> [    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
>>> [    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
>>> [    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
>>> [    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
>>> [    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
>>> [    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
>>> [    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
>>> [   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
>>> [   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
>>> [   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>>> [   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>>> [   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
>>> [   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4
>>
>>
>>> So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in
>>> xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...
>>
>>> Question is .. why ?
>>
>>> --
>>> Sander
>>
>>
>> Ping ?
>>
>> David / Boris,
>>
>> Any idea, since Konrad seems to be off for 2 weeks and we are at rc4 now.
>>

> (+Rafael again)

> So the immediate cause of those errors is that pdev->evtchn is 0. 
> Backend is not notified and things not go well then.

> And it is indeed caused by 97badf873ab60e841243b66133ff9eff2a46ef29:

> We allocate pcifront_sd in pcifront_scan_root() and then pass it to 
> pci_scan_bus_parented() as sysdata. Eventually this sysdata is used in 
> pcibios_root_bridge_prepare() as pci_sysdata. It is dereferenced as 
pci_sysdata->>companion (which I believe is aliased to pcifront_sd->pdev) 
> and then set_primary_fwnode() writes it, thus corrupting 
pcifront_sd->>pdev (and I think this is what sets evtchn to zero).

> I don't have a fix for that. I will see what we can do on Tuesday since 
> I am out on Monday.
So the bisection wasn't a red herring after all :-).
Thanks for the fast analysis and moving this forward Boris, have a nice weekend !

--
Sander

> Question to Rafael about commit 97badf873ab60e84124: is it really safe 
> to assume that bridge->bus->sysdata is a pointer to  pci_sysdata in 
> pcibios_root_bridge_prepare()? It is declared as 'void *'.

> -boris

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

* Re: Regression due to "device property: Make it possible to use secondary firmware nodes" Re: Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!!
@ 2015-05-23  1:53 Boris Ostrovsky
  0 siblings, 0 replies; 30+ messages in thread
From: Boris Ostrovsky @ 2015-05-23  1:53 UTC (permalink / raw)
  To: david.vrabel, linux; +Cc: xen-devel, Rafael J. Wysocki, linux-kernel

On 05/22/2015 04:11 AM, Sander Eikelenboom wrote:
> Hello Sander,
>
> Friday, May 15, 2015, 12:47:27 AM, you wrote:
>
>> Sorry for the resend, i messed up the to's en from's.
>
>> Hi Konrad / David,
>
>> One big snip on this thread, got some more debug info, hopefully this will
>> lead to something:
>
>> On a working kernel (with the two seemingly non related patches reverted) i get:
>
>> [    0.717796] pcifront pci-0: Allocated pdev @ 0xffff880019e11780 pdev->sh_info @ 0xffff880018f58000
>> [    0.717848] pcifront pci-0: ?!?!? before alloc gntref: 0
>> [    0.717871] pcifront pci-0: ?!?!? after alloc gntref: 8
>> [    0.717892] pcifront pci-0: ?!?!? before alloc evtchn: -1
>> [    0.717915] pcifront pci-0: ?!?!? after alloc evtchn: 17
>> [    0.717984] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
>> [    0.721640] pcifront pci-0: publishing successful!
>> [    0.723684] usbcore: registered new interface driver udlfb
>> [    0.724664] xen:xen_evtchn: Event-channel device installed
>> [    0.726597] pcifront pci-0: Installing PCI frontend
>> [    0.726853] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> [    0.727059] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> [    0.727363] pcifront pci-0: PCI host bridge to bus 0000:00
>> [    0.727391] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> [    0.727417] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> [    0.727452] pci_bus 0000:00: root bus resource [bus 00-ff]
>> [    0.727475] pci_bus 0000:00: scanning bus
>> [    0.727503] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
>> [    0.728253] Linux agpgart interface v0.103
>> [    0.728387] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> [    0.728474] [drm] Initialized drm 1.1.0 20060810
>> [    0.728551] [drm] radeon kernel modesetting enabled.
>> [    0.730319] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785551700000  ns_timeout: 1431641787541235000 evtchn:17 gnt_ref:8
>> [    0.730319] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [    0.730319] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [    0.730319] pcifront pci-0: read got back value 11113f6
>> [    0.738845] pcifront pci-0: read dev=0000:00:00.0 - offset e size 1
>> [    0.744976] brd: module loaded
>> [    0.745204] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785562852000  ns_timeout: 1431641787552580000 evtchn:17 gnt_ref:8
>> [    0.745204] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:14 size:1
>> [    0.745204] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:14 size:1
>> [    0.745204] pcifront pci-0: read got back value 0
>> [    0.749204] pcifront pci-0: read dev=0000:00:00.0 - offset 6 size 2
>> [    0.750155] loop: module loaded
>> [    0.752527] pcifront pci-0: ?!?!? pciback responded !!! irq:31 irq_flags:ffff880019e100a8 ns: 1431641785570841000  ns_timeout: 1431641787562917000 evtchn:17 gnt_ref:8
>> [    0.752527] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:6 size:2
>> [    0.752527] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:6 size:2
>> [    0.752527] pcifront pci-0: read got back value 210
>> [    0.757187] pcifront pci-0: read dev=0000:00:00.0 - offset 34 size 1
>
>
>> Were as in the non-working situation i get:
>
>> [    0.751244] pcifront pci-0: Allocated pdev @ 0xffff880019ec2e00 pdev->sh_info @ 0xffff88001aa51000
>> [    0.751295] pcifront pci-0: ?!?!? before alloc gntref: 0
>> [    0.751315] pcifront pci-0: ?!?!? after alloc gntref: 8
>> [    0.751334] pcifront pci-0: ?!?!? before alloc evtchn: -1
>> [    0.751355] pcifront pci-0: ?!?!? after alloc evtchn: 17
>> [    0.751422] pcifront pci-0: ?!?!? bound evtchn:17 to irqhandler:-1 err:31
>> [    0.755215] pcifront pci-0: publishing successful!
>> [    0.757341] usbcore: registered new interface driver udlfb
>> [    0.758365] xen:xen_evtchn: Event-channel device installed
>> [    0.760419] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>> [    0.760819] pcifront pci-0: Installing PCI frontend
>> [    0.761518] pcifront pci-0: Creating PCI Frontend Bus 0000:00
>> [    0.761684] pcifront pci-0: PCI host bridge to bus 0000:00
>> [    0.761710] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
>> [    0.761733] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
>> [    0.761763] pci_bus 0000:00: root bus resource [bus 00-ff]
>> [    0.761783] pci_bus 0000:00: scanning bus
>> [    0.761805] pcifront pci-0: read dev=0000:00:00.0 - offset 0 size 4
>> [    0.767207] Linux agpgart interface v0.103
>> [    0.767362] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
>> [    0.767439] [drm] Initialized drm 1.1.0 20060810
>> [    0.767515] [drm] radeon kernel modesetting enabled.
>> [    0.766948] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641983026498000  ns_timeout: 1431641983026497000 evtchn:0 gnt_ref:0
>> [    0.766948] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [    0.766948] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [    0.766948] pcifront pci-0: other err read got back err: ffffffff value: 0
>> [    2.762062] pcifront pci-0: read dev=0000:00:01.0 - offset 0 size 4
>> [    2.765203] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641985026742000  ns_timeout: 1431641985026741000 evtchn:0 gnt_ref:0
>> [    2.765203] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [    2.765203] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [    2.765203] pcifront pci-0: other err read got back err: ffffffff value: 0
>> [    4.762172] pcifront pci-0: read dev=0000:00:02.0 - offset 0 size 4
>> [    4.764231] brd: module loaded
>> [    4.765508] loop: module loaded
>> [    4.766748] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641987026850000  ns_timeout: 1431641987026849000 evtchn:0 gnt_ref:0
>> [    4.766748] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [    4.766748] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [    4.766748] pcifront pci-0: other err read got back err: ffffffff value: 0
>> [    6.762248] pcifront pci-0: read dev=0000:00:03.0 - offset 0 size 4
>> [    6.765545] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641989026930000  ns_timeout: 1431641989026929000 evtchn:0 gnt_ref:0
>> [    6.765545] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [    6.765545] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [    6.765545] pcifront pci-0: other err read got back err: ffffffff value: 0
>> [    8.762329] pcifront pci-0: read dev=0000:00:04.0 - offset 0 size 4
>> [    8.765626] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641991027006000  ns_timeout: 1431641991027005000 evtchn:0 gnt_ref:0
>> [    8.765626] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [    8.765626] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [    8.765626] pcifront pci-0: other err read got back err: ffffffff value: 0
>> [   10.762410] pcifront pci-0: read dev=0000:00:05.0 - offset 0 size 4
>> [   10.765701] pcifront pci-0: pciback not responding!!! irq:31 irq_flags:ffff880019ec0028 ns: 1431641993027087000  ns_timeout: 1431641993027086000 evtchn:0 gnt_ref:0
>> [   10.765701] pcifront pci-0: ?!?!? op cmd:0 err:0 info:0 offset:0 size:4
>> [   10.765701] pcifront pci-0: ?!?!? active_op cmd:0 err:0 info:0 offset:0 size:4
>> [   10.765701] pcifront pci-0: other err read got back err: ffffffff value: 0
>> [   12.762472] pcifront pci-0: read dev=0000:00:06.0 - offset 0 size 4
>
>
>> So somehow in the non-working situation, pdev->evtchn and pdev->gnt_ref are 0 in
>> xen-pcifront.c:do_pci_op(), so no wonder it's not getting a response back ...
>
>> Question is .. why ?
>
>> --
>> Sander
>
>
> Ping ?
>
> David / Boris,
>
> Any idea, since Konrad seems to be off for 2 weeks and we are at rc4 now.
>

(+Rafael again)

So the immediate cause of those errors is that pdev->evtchn is 0. 
Backend is not notified and things not go well then.

And it is indeed caused by 97badf873ab60e841243b66133ff9eff2a46ef29:

We allocate pcifront_sd in pcifront_scan_root() and then pass it to 
pci_scan_bus_parented() as sysdata. Eventually this sysdata is used in 
pcibios_root_bridge_prepare() as pci_sysdata. It is dereferenced as 
pci_sysdata->companion (which I believe is aliased to pcifront_sd->pdev) 
and then set_primary_fwnode() writes it, thus corrupting 
pcifront_sd->pdev (and I think this is what sets evtchn to zero).

I don't have a fix for that. I will see what we can do on Tuesday since 
I am out on Monday.

Question to Rafael about commit 97badf873ab60e84124: is it really safe 
to assume that bridge->bus->sysdata is a pointer to  pci_sysdata in 
pcibios_root_bridge_prepare()? It is declared as 'void *'.

-boris

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

end of thread, other threads:[~2015-05-26  0:42 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-27 15:48 Xen-unstable + linux 4.1-mergewindow: problems with PV guest pci passthrough: pcifront pci-0: pciback not responding!!! Sander Eikelenboom
2015-05-04 22:18 ` Sander Eikelenboom
2015-05-05 10:25   ` David Vrabel
2015-05-11 15:20   ` Regression due to "device property: Make it possible to use secondary firmware nodes" " Konrad Rzeszutek Wilk
2015-05-12  0:59     ` Rafael J. Wysocki
2015-05-12  0:59       ` Rafael J. Wysocki
2015-05-12 15:45       ` Rafael J. Wysocki
2015-05-12 15:45       ` Rafael J. Wysocki
2015-05-12 15:24         ` Sander Eikelenboom
2015-05-12 15:24           ` Sander Eikelenboom
2015-05-12 15:24         ` Sander Eikelenboom
2015-05-12 22:52         ` Sander Eikelenboom
2015-05-12 22:52         ` Sander Eikelenboom
2015-05-12 22:52           ` Sander Eikelenboom
2015-05-12 23:30           ` Rafael J. Wysocki
2015-05-12 23:30           ` Rafael J. Wysocki
2015-05-14 22:44           ` Konrad Rzeszutek Wilk, David Vrabel
2015-05-14 22:44             ` Konrad Rzeszutek Wilk, David Vrabel
2015-05-14 22:47           ` Sander Eikelenboom
2015-05-14 22:47             ` Sander Eikelenboom
2015-05-22  8:11             ` Sander Eikelenboom
2015-05-22  8:11             ` Sander Eikelenboom
2015-05-14 22:47           ` Sander Eikelenboom
2015-05-12  0:59     ` Rafael J. Wysocki
2015-05-11 15:20   ` Konrad Rzeszutek Wilk
2015-05-23  1:53 [Xen-devel] " Boris Ostrovsky
2015-05-23  7:58 ` Sander Eikelenboom
2015-05-25 23:22 ` Rafael J. Wysocki
2015-05-25 23:22 ` [Xen-devel] " Rafael J. Wysocki
2015-05-25 23:42   ` Rafael J. Wysocki
2015-05-26  1:08     ` Rafael J. Wysocki
2015-05-25 23:42   ` Rafael J. Wysocki
2015-05-23  1:53 Boris Ostrovsky

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.