All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcel Apfelbaum <marcel@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>,
	Laszlo Ersek <lersek@redhat.com>,
	qemu-devel@nongnu.org
Cc: mst@redhat.com, pbonzini@redhat.com, ehabkost@redhat.com,
	Igor Mammedov <imammedo@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Laine Stump <laine@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] hw/pci-host: Fix x86 Host Bridges 64bit PCI hole
Date: Fri, 20 Oct 2017 17:06:18 +0300	[thread overview]
Message-ID: <4bbcab3c-2d29-e74c-60ae-845e396166ee@redhat.com> (raw)
In-Reply-To: <1508497148.18146.10.camel@redhat.com>

On 20/10/2017 13:59, Gerd Hoffmann wrote:
> On Fri, 2017-10-20 at 11:32 +0200, Laszlo Ersek wrote:
>> On 10/20/17 08:55, Gerd Hoffmann wrote:
>>>    Hi,
>>>
>>>>> commit message says:
>>>>>
>>>>> <quote>
>>>>>       It turns out that some 32 bit windows guests crash
>>>>>       if 64 bit PCI hole size is >2G.
>>>>> </quote>
>>>>>
>>>>> Why this suddenly isn't a problem any more?
>>>>>
>>>>
>>>> I suppose it is, so we need a way to turn it "off".
>>>
>>> Or have machine types behave differently, i.e. give q35 a large
>>> 64bit
>>> hole and leave pc as-is.
>>
>> *If* we make it dependent on machine types at all, then please also
>> make
>> it versioned for Q35.
> 
> We probably need that for live migration compatibility anyway.  If we
> add a switch we can add it to both pc and q35 (I think they share most
> code so little extra cost), but have different defaults depending on
> machine type.
> 
>>> BTW:  Is it safe to just assume 40 bits physical is going to
>>> work?  My
>>> workstation:
>>>
>>> model name      : Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
>>> address sizes   : 39 bits physical, 48 bits virtual
>>>
>>> Does this imply ept is limited 39 bits physical too?
>>
>> Very good point to raise; "39 bits physical" on your workstation
>> *does*
>> imply that EPT is limited exactly the same way. I had run into this
>> very
>> problem while working on 64GB+ RAM enablement in OVMF. (Back then my
>> laptop had: "address sizes : 36 bits physical, 48 bits virtual".)
> 
> Ah, right, I remember.  This is why we ended up with 32G window 32G
> aligned above highest memory (or reserved) address.  No address above
> 64G will be used unless you have lots of memory in your virtual machine
> (in which case your host very likely supports more than 36 address
> lines).
> 
> So I guess the options are to play safe and do something simliar on the
> qemu side, or go figure how much physical address space is available
> and use that (which should also solve the "what do we with >1TB guests"
> issue).  The later could cause some interesting live migration issues
> though, when migrating between hosts with different physical address
> space sizes.
> 
> So maybe the pci-hole64-size option isn't that bad after all?  We could
> make it default to 2G on pc and 32G on q35 ...
> 

I could live with that, as I previously stated I started that way.
The property is already there, if anyone needs a bigger 64bit PCI
hole, libvirt can set a new value.
Adding Laine to give him the opportunity to object :)

I'll come up with V3 that actually implements the pci-hole64-size,
having *some* 64bit window for PCI hotplug is better than none.

Thanks all for the help!
Marcel

> cheers,
>    Gerd
> 

  reply	other threads:[~2017-10-20 14:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-18  9:58 [Qemu-devel] [PATCH] hw/pci-host: Fix x86 Host Bridges 64bit PCI hole Marcel Apfelbaum
2017-10-18 10:45 ` Igor Mammedov
2017-10-18 10:57   ` Marcel Apfelbaum
2017-10-18 11:40 ` Laszlo Ersek
2017-10-19  9:30   ` Marcel Apfelbaum
2017-10-19 10:41     ` Laszlo Ersek
2017-10-19 11:29       ` Marcel Apfelbaum
2017-10-19 11:52         ` Laszlo Ersek
2017-10-19 13:03     ` Gerd Hoffmann
2017-10-19 13:34       ` Marcel Apfelbaum
2017-10-20  6:55         ` Gerd Hoffmann
2017-10-20  9:32           ` Laszlo Ersek
2017-10-20 10:59             ` Gerd Hoffmann
2017-10-20 14:06               ` Marcel Apfelbaum [this message]
2017-10-20 13:47           ` Marcel Apfelbaum
2017-10-23  5:45             ` Gerd Hoffmann
2017-10-23  8:46               ` Marcel Apfelbaum
2017-10-23  9:16                 ` Gerd Hoffmann
2017-10-23  9:35                   ` Marcel Apfelbaum

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=4bbcab3c-2d29-e74c-60ae-845e396166ee@redhat.com \
    --to=marcel@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=laine@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.