[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Xen-unstable: pci-passthrough of device using MSI-X interrupts not working after commit x86/MSI: track host and guest masking separately
Hi Jan / Andrew, I'm having some trouble with a xhci controller passed through with pci-passthrough to one of my HVM guests. It uses MSI-X for interrupts, a bisection turned up the following commit: ad28e42bd1d28d746988ed71654e8aa670629753 is the first bad commit commit ad28e42bd1d28d746988ed71654e8aa670629753 Author: Jan Beulich <jbeulich@xxxxxxxx> Date: Fri Jun 19 10:59:53 2015 +0200 x86/MSI: track host and guest masking separately In particular we want to avoid losing track of our own intention to have an entry masked. Physical unmasking now happens only when both host and guest requested so. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Although from a first glance it looks as if the controller is correctly initialize during the boot of the HVM guest (no worrying messages in dmesg yet). It utterly fails a simple "lsusb" this results in the hang pasted below. Other devices i passthrough which use legacy or MSI interrupts seem to be unaffected. Please say so if you need any specific output from Xen debug keys or anything else ! -- Sander The lspci from witin the guest (doesn't differ between good or bad): 00:05.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03) (prog-if 30 [XHCI]) Subsystem: ASUSTeK Computer Inc. P8P67 Deluxe Motherboard [1043:8413] Physical Slot: 5 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 36 Region 0: Memory at f3270000 (64-bit, non-prefetchable) [size=8K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [70] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [90] MSI-X: Enable+ Count=8 Masked- Vector table: BAR=0 offset=00001000 PBA: BAR=0 offset=00001080 Capabilities: [a0] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 unlimited ClockPM+ Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR+, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Kernel driver in use: xhci_hcd lspci from dom0: 08:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03) (prog-if 30 [XHCI]) Subsystem: ASUSTeK Computer Inc. P8P67 Deluxe Motherboard [1043:8413] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 37 Region 0: Memory at fe0fe000 (64-bit, non-prefetchable) [size=8K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [90] MSI-X: Enable+ Count=8 Masked- Vector table: BAR=0 offset=00001000 PBA: BAR=0 offset=00001080 Capabilities: [a0] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 unlimited ClockPM+ Surprise- LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt- LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR+, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Capabilities: [100 v1] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn- Capabilities: [140 v1] Device Serial Number ff-ff-ff-ff-ff-ff-ff-ff Capabilities: [150 v1] Latency Tolerance Reporting Max snoop latency: 0ns Max no snoop latency: 0ns Kernel driver in use: pciback [ 240.783386] INFO: task kworker/3:1:853 blocked for more than 120 seconds. [ 240.788883] Not tainted 4.1.0-rc7-20150609-security+ #1 [ 240.793566] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.805612] kworker/3:1 D ffff88003cdbbb38 0 853 2 0x00000000 [ 240.817493] Workqueue: usb_hub_wq hub_event [ 240.824566] ffff88003cdbbb38 00000000000040d0 ffff88003dafe8d0 0000000000030010 [ 240.846212] ffff88003cdbc000 7fffffffffffffff ffff88003cedc150 ffff88003dafe8d0 [ 240.861651] ffff88003dafe8d0 ffff88003cdbbb58 ffffffff81af0812 0000000000000002 [ 240.875103] Call Trace: [ 240.879301] [<ffffffff81af0812>] schedule+0x32/0x80 [ 240.885835] [<ffffffff81af2fb9>] schedule_timeout+0x139/0x190 [ 240.895976] [<ffffffff8176b2cb>] ? usb_alloc_dev+0x2b/0x310 [ 240.905071] [<ffffffff81af11ee>] wait_for_common+0xce/0x1e0 [ 240.929943] [<ffffffff810d3800>] ? wake_up_process+0x50/0x50 [ 240.938833] [<ffffffff81af1318>] wait_for_completion+0x18/0x20 [ 240.946345] [<ffffffff817a064f>] xhci_alloc_dev+0x9f/0x270 [ 240.954751] [<ffffffff8176b309>] usb_alloc_dev+0x69/0x310 [ 240.962074] [<ffffffff81771719>] hub_event+0x7c9/0x12f0 [ 240.968884] [<ffffffff810c538d>] process_one_work+0x13d/0x380 [ 240.978075] [<ffffffff810c563b>] worker_thread+0x6b/0x550 [ 240.985503] [<ffffffff810c55d0>] ? process_one_work+0x380/0x380 [ 240.992991] [<ffffffff810caa66>] kthread+0xd6/0xf0 [ 240.999994] [<ffffffff810ca990>] ? kthread_create_on_node+0x180/0x180 [ 241.008045] [<ffffffff81af44a2>] ret_from_fork+0x42/0x70 [ 241.015867] [<ffffffff810ca990>] ? kthread_create_on_node+0x180/0x180 [ 241.027458] INFO: task udevd:1600 blocked for more than 120 seconds. [ 241.035950] Not tainted 4.1.0-rc7-20150609-security+ #1 [ 241.043372] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 241.055299] udevd D ffff88003b4ffc38 0 1600 1562 0x00000004 [ 241.066287] ffff88003b4ffc38 ffff88003b4ffc48 ffff88003d328000 ffff88003b4ffc28 [ 241.080800] ffff88003b500000 ffff88003db978f4 ffff88003d328000 00000000ffffffff [ 241.095124] ffff88003db978f8 ffff88003b4ffc58 ffffffff81af0812 ffff88003db978f0 [ 241.108802] Call Trace: [ 241.113716] [<ffffffff81af0812>] schedule+0x32/0x80 [ 241.120665] [<ffffffff81af0b19>] schedule_preempt_disabled+0x9/0x10 [ 241.128191] [<ffffffff81af1ed5>] __mutex_lock_slowpath+0x95/0x110 [ 241.137652] [<ffffffff81af1f6e>] mutex_lock+0x1e/0x40 [ 241.144911] [<ffffffff8177ea3f>] product_show+0x1f/0x50 [ 241.153177] [<ffffffff816888fb>] dev_attr_show+0x1b/0x50 [ 241.161507] [<ffffffff81af1f61>] ? mutex_lock+0x11/0x40 [ 241.168354] [<ffffffff8120067b>] sysfs_kf_seq_show+0xbb/0x150 [ 241.180683] [<ffffffff811fef2b>] kernfs_seq_show+0x1b/0x20 [ 241.190340] [<ffffffff811b0c6d>] seq_read+0xcd/0x3b0 [ 241.200103] [<ffffffff811ffa55>] kernfs_fop_read+0x105/0x170 [ 241.209954] [<ffffffff8119e9a5>] ? do_filp_open+0x35/0xb0 [ 241.220031] [<ffffffff8118e5c3>] __vfs_read+0x23/0xd0 [ 241.230325] [<ffffffff811ab008>] ? __fd_install+0x48/0x60 [ 241.238748] [<ffffffff8118edc5>] vfs_read+0x85/0x140 [ 241.245479] [<ffffffff8118fb65>] SyS_read+0x45/0xc0 [ 241.253530] [<ffffffff81af40ae>] system_call_fastpath+0x12/0x71 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |