From: Alex Williamson <alex.williamson@redhat.com>
To: Wolfgang Nothdurft <wolfgang@linux-dude.de>
Cc: kvm@vger.kernel.org
Subject: Re: vfio-pci: dvb-s2 pcie card stopped working after a short time
Date: Thu, 09 Apr 2015 09:40:08 -0600 [thread overview]
Message-ID: <1428594008.5567.605.camel@redhat.com> (raw)
In-Reply-To: <55267B05.3080703@linux-dude.de>
On Thu, 2015-04-09 at 15:13 +0200, Wolfgang Nothdurft wrote:
> Hi,
>
> I'm using kvm + libvirt + pci pass-through (vfio-pci) for virtualizing
> my mythtv server.
>
> <hostdev mode='subsystem' type='pci' managed='yes'>
> <driver name='vfio'/>
> <source>
> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
> </source>
> <address type='pci' domain='0x0000' bus='0x02' slot='0x03'
> function='0x0'/>
> </hostdev>
>
>
> I had no problems with my previous dvb cards at least no big known problems.
>
> With my new dvb-s2 card (DVBSky S952 V3), the card stopped working after
> recording 1 or 2 hour.
>
> After than the dvbstream from the card is broken and I have to reload
> the driver.
>
> MythTV Log shows:
>
> Apr 7 19:19:10 mythtv mythlogserver: mythbackend[2087]: E DVBRead
> recorders/dtvrecorder.cpp:855 (FindH264Keyframes) DTVRec[1]: PES start
> code not found in TS packet with PUSI set
> Apr 7 19:19:12 mythtv mythlogserver: mythbackend[2087]: E DVBRead
> mpeg/mpegstreamdata.cpp:364 (AssemblePSIP)
> MPEGStream[1](0x7f9bd412b898): Error: offset>181, pes length & current
> cannot be queried
>
> On the kvm host the card works properly. With my old cards I got these
> problems sporadically, so this was not a big deal for me.
> But now it is unusable.
>
> /proc/interrupts and lspci -vv from the kvmhost:
>
> 29: 1061275 1065204 1060158 1066001 PCI-MSI-edge
> SMI_PCIE
>
> 01:00.0 Multimedia video controller: Spin Master Ltd. Device 3038 (rev 01)
> Subsystem: DVBSky Device 0552
> 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: 32 bytes
> Interrupt: pin A routed to IRQ 29
> Region 0: Memory at d0100000 (32-bit, non-prefetchable) [size=4K]
> Capabilities: [40] 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: [50] MSI: Enable+ Count=1/16 Maskable- 64bit+
> Address: 00000000fee0f00c Data: 4127
> Capabilities: [70] Express (v1) Endpoint, MSI 00
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
> <64ns, L1 <1us
> 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 2.5GT/s, Width x1, ASPM L0s,
> Latency L0 unlimited, L1 unlimited
> ClockPM- Surprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain-
> CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+
> DLActive- BWMgmt- ABWMgmt-
> Kernel driver in use: SMI PCIe driver
> Kernel modules: smipcie
>
>
> /proc/interrupts from kvmhost when the vm is started:
>
> 29: 0 0 0 0 PCI-MSI-edge
> vfio-msi[0](0000:01:00.0)
>
> /proc/interrupts and lspci -vv from the vm
>
> 25: 0 0 PCI-MSI-edge SMI_PCIE
Are you suggesting with these zero counts that interrupts aren't
working, or do they increment normally when the card is in use?
> 02:03.0 Multimedia video controller: Spin Master Ltd. Device 3038 (rev 01)
> Subsystem: DVBSky Device 0552
> 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: 32 bytes
> Interrupt: pin A routed to IRQ 25
> Region 0: Memory at fe660000 (32-bit, non-prefetchable) [size=4K]
> Capabilities: [40] 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: [50] MSI: Enable+ Count=1/16 Maskable- 64bit+
> Address: 00000000fee0300c Data: 41a1
> Capabilities: [70] Express (v1) Endpoint, MSI 00
> DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
> <64ns, L1 <1us
> 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 2.5GT/s, Width x1, ASPM L0s,
> Latency L0 unlimited, L1 unlimited
> ClockPM- Surprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain-
> CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+
> DLActive- BWMgmt- ABWMgmt-
> Kernel driver in use: SMI PCIe driver
> Kernel modules: smipcie
>
> I have tried several things, all with the same result.
>
> * Swapping PCIe Port
> * using kvm-based-passthrough instead of vfio-pci
> * starting qemu direct and using bus=pcie.0 ( -device
> vfio-pci,host=01:00.0,id=hostdev0,bus=pcie.0,addr=0x3)
>
>
> Board: Supermicro C2SBC-Q
> dvb-s2: DVBSky S952 V3
> System: Gentoo
> Kernel: 3.19.0-gentoo (on both host and vm)
> qemu: 2.1.2
> libvirt: 1.2.10
>
> Is there anything I can do to find and solve this problem?
> Or is this simply a bad combination of hardware components and I will
> stuck here?
If neither vfio-pci nor legacy kvm based assignment work reliably, then
it sounds like there's some quirkiness to this card's operation that
hasn't been figured out. Does the old card work in the same
configuration? Do the old and new cards use the same driver? Is there
any relevant dmesg output in either the host or the guest? If you can
kick the new card to work again by reloading the driver in the guest,
that would seem to indicate some lack of robustness in the driver
itself. Thanks,
Alex
next prev parent reply other threads:[~2015-04-09 15:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-09 13:13 vfio-pci: dvb-s2 pcie card stopped working after a short time Wolfgang Nothdurft
2015-04-09 15:40 ` Alex Williamson [this message]
2015-04-09 16:16 ` Wolfgang Nothdurft
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1428594008.5567.605.camel@redhat.com \
--to=alex.williamson@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=wolfgang@linux-dude.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox