LKML Archive on
help / color / mirror / Atom feed
From: "Roger Pau Monné" <>
To: Andrew Cooper <>
Cc: <>, Juergen Gross <>,
	Boris Ostrovsky <>
Subject: Re: [Xen-devel] [PATCH v2 1/3] xen/pvh: enable and set default MTRR type
Date: Wed, 9 May 2018 12:30:16 +0100	[thread overview]
Message-ID: <20180509113016.tavac64ba5fu3tob@MacBook-Pro-de-Roger.local> (raw)
In-Reply-To: <>

On Wed, May 09, 2018 at 11:56:40AM +0100, Andrew Cooper wrote:
> On 09/05/18 11:21, Roger Pau Monne wrote:
> > On PVH MTRR is not initialized by the firmware (because there's no
> > firmware), so the kernel is started with MTRR disabled which means all
> > memory accesses are UC.
> >
> > So far there have been no issues (ie: slowdowns) caused by this
> > because PVH only supported DomU mode without passed-through devices,
> > so Xen was using WB as the default memory type instead of UC.
> >
> > Fix this by enabling MTRR and setting the default type to WB. Linux
> > will use PAT to set the actual memory cache attributes.
> >
> > Signed-off-by: Boris Ostrovsky <>
> > Signed-off-by: Roger Pau Monné <>
> I'd argue that this is a bug in PVH starting state.

Do you mean that MTRR should be setup before starting the guest?

> Do you know what mechanism is used to bodge things to WB in the first
> place?

If you mean when passthorugh is not used (ie: no IOMMU), then it's at
epte_get_entry_emt, grep for need_iommu(d) (line ~801).

> I'm not sure that setting the default MTRR type is going to be a
> clever idea in hindsight when we come to doing PCI Passthrough support.

Setting the default type to WB is also set by hvmloader, it's just
that hvmloader also sets some of the fixed and variable ranges to UC
in order to cover the iomem areas.

The expectations when doing pci-passthrough is that the guest will
always use paging and PAT in order to set the appropriate cache
attributes, or else the guest itself will have to program the UC MTRR
ranges, I admit that's not very nice however.

What about enabling the default MTRR type and setting it to WB in the
toolstack for PVH? IMO doing it Xen itself would be wrong.

Thanks, Roger.

  reply	other threads:[~2018-05-09 11:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-09 10:21 [PATCH v2 0/3] xen/pvh: Dom0 support Roger Pau Monne
2018-05-09 10:21 ` [PATCH v2 1/3] xen/pvh: enable and set default MTRR type Roger Pau Monne
2018-05-09 10:56   ` [Xen-devel] " Andrew Cooper
2018-05-09 11:30     ` Roger Pau Monné [this message]
2018-05-09 15:11       ` Roger Pau Monné
2018-05-10 11:52         ` Wei Liu
2018-05-11  7:33         ` Juergen Gross
2018-05-09 10:21 ` [PATCH v2 2/3] xen/store: do not store local values in xen_start_info Roger Pau Monne
2018-05-11  7:34   ` Juergen Gross
2018-05-17  6:43   ` Juergen Gross
2018-05-09 10:21 ` [PATCH v2 3/3] xen: share start flags between PV and PVH Roger Pau Monne
2018-05-09 16:34   ` kbuild test robot
2018-05-09 21:47   ` Stefano Stabellini

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180509113016.tavac64ba5fu3tob@MacBook-Pro-de-Roger.local \ \ \ \ \ \ \
    --subject='Re: [Xen-devel] [PATCH v2 1/3] xen/pvh: enable and set default MTRR type' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).