xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: Hanweidong <hanweidong@huawei.com>
Cc: Yanqiangjun <yanqiangjun@huawei.com>,
	Luonengjun <luonengjun@huawei.com>,
	Wangzhenguo <wangzhenguo@huawei.com>,
	Yangxiaowei <xiaowei.yang@huawei.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: GPU passthrough issue when VM is configured with 4G memory
Date: Wed, 6 Mar 2013 12:43:09 +0000	[thread overview]
Message-ID: <513739DD.8050507@eu.citrix.com> (raw)
In-Reply-To: <FAB5C136CA8BEA4DBEA2F641E3F536384A8A5870@szxeml538-mbx.china.huawei.com>

On 06/03/13 11:38, Hanweidong wrote:
>> -----Original Message-----
>> From: dunlapg@gmail.com [mailto:dunlapg@gmail.com] On Behalf Of George
>> Dunlap
>> Sent: 2013年3月5日 20:59
>> To: Gonglei (Arei)
>> Cc: xen-devel@lists.xen.org; Yangxiaowei; Yanqiangjun; Luonengjun;
>> Wangzhenguo; Hanweidong
>> Subject: Re: [Xen-devel] GPU passthrough issue when VM is configured
>> with 4G memory
>>
>> On Mon, Mar 4, 2013 at 8:10 AM, Gonglei (Arei) <arei.gonglei@huawei.com>
>> wrote:
>>> Hi,all
>>>
>>> I have tried to passthrough GPU card(Nvidia quadro 4000) on the
>> latest Xen
>>> unstable version (QEMU is using Qemu-upsteam-unstable, not
>> traditional
>>> Qemu). This issue as below:
>>>
>>>        Windows7 64-bit guest will blue screen when GPU passthrough
>> configure
>>> 4g memory,blue screen code is 50, and SUSE 11 64-bit guest will
>> always stay
>>> at the grub screen.  I noticed that it will relocate RAM that
>> overlaps PCI
>>> space in pci_setup()(tools/hvmloader/pci.c). If VM memory is
>> configured with
>>> 3G, it won't cause relocate RAM that overlaps PCI space in
>> pci_setup(), and
>>> GPU pass-through is no problem. So it seems this issue is related to
>>> "relocate RAM" in pci_setup().
>> So one issue XenServer found with passing through GPUs is that there
>> are bugs in some PCI bridges that completely break VT-d.  The issue
>> was that if the *guest* physical address space overlapped the *host*
>> physical address of a different device, that the PCI bridges would
>> send traffic from the passed-through card intended for the guest to
>> another card instead.  The work-around was to make the hole in the
>> guest MMIO space the same size as the host MMIO hole.  I'm not sure if
>> that made it upstream or not -- let me check...
>>
> Hi George,
>
> Could you post your patch and let us have a try with it? Thanks!

So the patch got checked in, but there still may be some more work if
you want to use it. :-)

The patch modifies xc_hvm_build_args structure to include a field called
"mmio_size". If this is set to zero, it will default to
HVM_BELOW_4G_MMIO_LENGTH; otherwise, it will be the size of the default
MMIO hole set during the build process. The guest BIOS may modify this
at boot time to make it bigger, but it doesn't make it smaller.

Since this was designed for xapi, however, which calls libxc directly,
we didn't add any options to xend / xl / libxl to set this option.

The easiest way to test it probably is just to hard-code
HVM_BELOW_4G_MMIO_LENGTH to a new value (from the description, setting
it to 1GiB should be sufficient).

Then if you want to use it in production, you probably want to either:
1. Try it with the latest version of XCP (which I think has an option
you can set)
2. Implement a config option for xl that allows you to set the MMIO hole
size.

#2 should be a relatively straightforward matter of "plumbing", and
would be a welcome contribution. :-)

If you do implement #2, it might be nice to have an option of
"mmio_hole_size=host", which will set the guest mmio hole to the same
size as the host. That's what we implemented for XenServer, to make sure
there would never be any collisions.

-George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2013-03-06 12:43 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-04  8:10 GPU passthrough issue when VM is configured with 4G memory Gonglei (Arei)
2013-03-05  9:50 ` Pasi Kärkkäinen
2013-03-05 12:44   ` Hanweidong
2013-03-05 13:20     ` Pasi Kärkkäinen
2013-03-05 14:21       ` Matthias
2013-03-05 14:27         ` Pasi Kärkkäinen
2013-03-05 14:41           ` Matthias
2013-03-06 11:35       ` Hanweidong
2013-03-05 12:59 ` George Dunlap
2013-03-06 11:38   ` Hanweidong
2013-03-06 12:43     ` George Dunlap [this message]
2013-03-06 14:04       ` Pasi Kärkkäinen
2013-03-06 19:45         ` Konrad Rzeszutek Wilk
2013-03-07  7:51       ` Hanweidong
2013-03-07 10:16         ` George Dunlap
2013-03-12  5:45           ` Hanweidong
2013-03-12 10:39             ` George Dunlap
2013-03-13 13:23               ` Hanweidong
2013-03-16 23:41                 ` youenn.gestin
2013-03-17 17:32                   ` Pasi Kärkkäinen
2013-03-18 22:43                     ` youenn.gestin
2013-03-19  7:28                       ` David TECHER
2013-03-18 12:02                 ` Stefano Stabellini
2013-03-18 15:40                   ` Hao, Xudong
2013-03-19  0:34                   ` Hanweidong
2013-03-26  9:37                   ` Hanweidong
2013-04-15 21:22                     ` Pasi Kärkkäinen
2013-04-16  0:44                       ` David TECHER
2013-04-16  3:54                         ` Pasi Kärkkäinen
2013-04-16  9:21                           ` David TECHER
2013-04-16 12:45                             ` Hanweidong
2013-04-16 12:37                       ` George Dunlap
2013-04-16 12:46                         ` Ian Campbell
2013-04-25  3:46                     ` Hanweidong
2013-04-25  8:12                       ` Hao, Xudong
2013-04-25 14:23                         ` Hanweidong
2013-04-25 10:29                       ` George Dunlap
2013-04-25 14:24                         ` Hanweidong
2013-05-09 16:49                           ` Pasi Kärkkäinen
2013-05-17  7:10                             ` Hanweidong
2013-05-17  7:37                               ` Gordan Bobic
2013-05-20  8:20                               ` Pasi Kärkkäinen
2013-05-20 11:29                               ` George Dunlap
2013-05-20 13:00                                 ` Stefano Stabellini
2013-05-20 18:43                                 ` Gordan Bobic
2013-05-21  4:09                                   ` Hanweidong
2013-05-22 15:17                                     ` Gordan Bobic
2013-05-22 18:11                                       ` Andrew Bobulsky
2013-05-22 18:41                                         ` Gordan Bobic
2013-05-23 14:38                                       ` Hanweidong
2013-05-29 16:18                       ` Stefano Stabellini
2013-05-30  1:29                         ` Hanweidong
2013-05-30 10:27                           ` GPU passthrough issue when VM is configured with 4G memoryo Stefano Stabellini
2013-05-30 10:45                             ` Hanweidong
2013-06-03 13:11                         ` GPU passthrough issue when VM is configured with 4G memory Konrad Rzeszutek Wilk
2013-06-03 15:14                           ` Stefano Stabellini
2013-09-26 20:09                         ` GPU passthrough issue when VM is configured with 4G memory / Xen 4.4 Pasi Kärkkäinen

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=513739DD.8050507@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=arei.gonglei@huawei.com \
    --cc=hanweidong@huawei.com \
    --cc=luonengjun@huawei.com \
    --cc=wangzhenguo@huawei.com \
    --cc=xen-devel@lists.xen.org \
    --cc=xiaowei.yang@huawei.com \
    --cc=yanqiangjun@huawei.com \
    /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).