[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] GPU passthrough issue when VM is configured with 4G memory

I think it is this problem that has been driving me nuts for the
last 2 weeks (big thread on xen-users) while I've been trying to get VGA passthrough to work
on my system. The difference is that on my system the domU suffers
a GPU related crash when more than 2GB of RAM are assigned to domU.

Of course, when you see mentions of this issue occurring with
4GB) RAM, seeing the problem with <=4GB of RAM in domU doesn't
immediately connect as being the same issue, which can lead to
somebody like me chasing their tail for days with no one
configuration change making any consistent difference. Of course,
being a memory stomp by nature, the result are rarely 100%
predictable and consistently reproducible.

Is there a way to explicitly configure the guest's memory hole
to cover everything between, say, 2GB and 4GB? It's not a
replacement to getting the BARs right, but it might be easier
easier as a quick workaround for people who need a workaround now.
Would it work if the memory map was equivalent of something

mem=2GB@0 mem=2GB@4GB?

That should work provided all the BARs are somewhere in the
2GB-4GB region. Granted, that may not always be the case, but
if it covers 90% of cases it would be a good workaround until
a proper fix is available.


On Fri, 17 May 2013 07:10:17 +0000, Hanweidong <hanweidong@xxxxxxxxxx> wrote:
-----Original Message-----
From: Pasi KÃrkkÃinen [mailto:pasik@xxxxxx]
Sent: 2013å5æ10æ 0:50
To: Hanweidong
Cc: George Dunlap; Stefano Stabellini; xudong.hao@xxxxxxxxx;
Yanqiangjun; Luonengjun; Wangzhenguo; Yangxiaowei; Gonglei (Arei);
Anthony Perard; xen-devel@xxxxxxxxxxxxx; xiantao.zhang@xxxxxxxxx
Subject: Re: [Xen-devel] GPU passthrough issue when VM is configured
with 4G memory

On Thu, Apr 25, 2013 at 02:24:11PM +0000, Hanweidong wrote:
> >
> > So just to check to make sure I understand correctly: the problem
> > that qemu has mapped the guests' pages before the memory hole is
> > larger?
> >
> Yes.
> > In that case, wouldn't it make sense to flush qemu's mapcache
> > the memory layout changes?  Such a thing should be possible now,
> > when doing ballooning, right?
> >
> Good point. Will have a try.

Any luck with debugging this issue?

Flushing qemu's mapcache doesn't help this issue. Unlike ballooning,
this case needs to adjust memory region layout. Seems it also needs to
update ram regions besides pci hole region, don't know it's feasible
to update ram regions (initialized in xen_ram_init()) when getting
actual pci hole start address from hvmloader.

I'm setting up a new box for testing GPU passthrough so I'm happy to
any patches you might have..

Actually, it's not really related to GPU passthrough. You can
reproduce it when a VM has a big pci hole size (such as 512MB), e.g.
create a VM with a virtual device which has a 512MB pci BAR.



-- Pasi

Xen-devel mailing list

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.