xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ruediger Otte <ruediger.otte@gmx.net>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, xen-devel@lists.xen.org
Subject: Re: [RFC PATCH] Xen PCI back - do slot and bus reset (v0).
Date: Thu, 5 Jun 2014 00:15:04 +0200	[thread overview]
Message-ID: <20140605001504.0b12344a@dox64> (raw)

Hi,

this patch actually solves the problem I experienced when trying to
passthrough a Radeon 7750 to a windows guest with a custom build of
Xen 4.4.0 on Debian Wheezy.

While I was always getting dom0 lockups at the first reboot of the
guest, I'm now able to do several reboots without sending the host to
standby in between. I haven't done extensive testing yet, but gpu
passthrough seems to just work now.

However I'm now seeing a different issue at dom0 boot when the
devices are assigned to xen-pciback (in kernel, no module). After the
message "xen_pciback: backend is passthrough" the host hangs for 2-3
seconds, then reboots. Strangely sometimes the host just boots ok,
but then again I get three or more failed boots in a row before it
finally works.

Before I applied your patch I have already followed every hint and
tried every available workaround with no success so far, so I would
be glad if this code could be further improved. If there's the need I
can of course provide debug output and configuration details from my
setup.

Kind regards,
Ruediger Otte

> Hey,
> 
> While I was trying to narrow down the state of GPU passthrough
> (still not finished) and figuring what needs to be done I realized
> that Xen PCIback did not reset my GPU properly (when I crashed the
> Windows guest by mistake). It does an FLR reset or Power one - if
> the device supports it. But it seems that some of these GPUs
> are liars and actually don't do the power part properly.
> 
> One way to fix this is by doing a slot (aka device) and bus reset.
> Of course to do that - you need to make sure that all of the
> functions of a device are under the ownership of xen-pciback.
> Otherwise you might accidently reset your sound card while it is
> being used.
> 
> These RFC patches cleanup pci back a bit and also make it possible
> for Xen pciback to do the whole gamma of 'reset' for PCI devices:
> FLR, power management, AER, slot and bus reset if neccessary.
> 
> Thanks go to Gordan Bobic for educating me on how to "reprogram"
> and GFX460 in a Quardro 4000M and also reporting oddities when
> a PCI device was reset but it looked like it was not reset.
> 
> 
>  drivers/xen/xen-pciback/pci_stub.c | 142
> +++++++++++++++++++++++++++++++------
> drivers/xen/xen-pciback/xenbus.c   |   5 +- 2 files changed, 124
> insertions(+), 23 deletions(-)
> 
> 
> Konrad Rzeszutek Wilk (5):
>       xen-pciback: Cleanup up pcistub_put_pci_dev
>       xen-pciback: First reset, then free.
>       xen-pciback: Document when we FLR an PCI device.
>       xen/pciback: Move the FLR code to a function.
>       xen/pciback: PCI reset slot or bus

             reply	other threads:[~2014-06-04 22:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-04 22:15 Ruediger Otte [this message]
     [not found] <1386950978-8628-1-git-send-email-konrad.wilk@oracle.com>
2013-12-13 16:52 ` [RFC PATCH] Xen PCI back - do slot and bus reset (v0) Gordan Bobic
2013-12-16 10:59 ` David Vrabel
     [not found] ` <52AEDCF5.8050701@citrix.com>
2013-12-16 14:35   ` Konrad Rzeszutek Wilk
     [not found]   ` <20131216143515.GB12913@phenom.dumpdata.com>
2013-12-16 15:23     ` Sander Eikelenboom
     [not found]     ` <1039604701.20131216162353@eikelenboom.it>
2013-12-16 15:36       ` Konrad Rzeszutek Wilk
     [not found]       ` <20131216153612.GA16678@phenom.dumpdata.com>
2013-12-16 15:45         ` Sander Eikelenboom
2013-12-16 22:51         ` Sander Eikelenboom
  -- strict thread matches above, loose matches on Subject: below --
2013-12-13 16:09 Konrad Rzeszutek Wilk

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=20140605001504.0b12344a@dox64 \
    --to=ruediger.otte@gmx.net \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xen.org \
    /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;
as well as URLs for NNTP newsgroup(s).