From: Tim Deegan <Tim.Deegan@citrix.com>
To: Wei Huang <wei.huang2@amd.com>
Cc: Keir, "Xu, Dongxiao" <dongxiao.xu@intel.com>,
"'xen-devel@lists.xensource.com'" <xen-devel@lists.xensource.com>,
Fraser <Keir.Fraser@eu.citrix.com>
Subject: Re: [PATCH][3/4] Enable 1GB for Xen HVM host page
Date: Tue, 23 Feb 2010 10:07:24 +0000 [thread overview]
Message-ID: <20100223100724.GO368@whitby.uk.xensource.com> (raw)
In-Reply-To: <4B82BC78.7080907@amd.com>
At 17:18 +0000 on 22 Feb (1266859128), Wei Huang wrote:
> This patch changes P2M code to works with 1GB page now.
>
> Signed-off-by: Wei Huang <wei.huang2@amd.com>
> Acked-by: Dongxiao Xu <dongxiao.xu@intel.com>
> @@ -1064,6 +1093,19 @@
> if ( unlikely(d->is_dying) )
> goto out_fail;
>
> + /* Because PoD does not have cache list for 1GB pages, it has to remap
> + * 1GB region to 2MB chunks for a retry. */
> + if ( order == 18 )
> + {
> + gfn_aligned = (gfn >> order) << order;
> + for( i = 0; i < (1 << order); i += (1 << 9) )
> + set_p2m_entry(d, gfn_aligned + i, _mfn(POPULATE_ON_DEMAND_MFN), 9,
> + p2m_populate_on_demand);
I think you only need one set_p2m_entry call here - it will split the
1GB entry without needing another 511 calls.
Was the decision not to implement populate-on-demand for 1GB pages based
on not thinking it's a good idea or not wanting to do the work? :)
How much performance do PoD guests lose by not having it?
> + audit_p2m(d);
> + p2m_unlock(p2md);
> + return 0;
> + }
> +
> /* If we're low, start a sweep */
> if ( order == 9 && page_list_empty(&p2md->pod.super) )
> p2m_pod_emergency_sweep_super(d);
> @@ -1196,6 +1238,7 @@
> l1_pgentry_t *p2m_entry;
> l1_pgentry_t entry_content;
> l2_pgentry_t l2e_content;
> + l3_pgentry_t l3e_content;
> int rv=0;
>
> if ( tb_init_done )
> @@ -1222,18 +1265,44 @@
> goto out;
> #endif
> /*
> + * Try to allocate 1GB page table if this feature is supported.
> + *
> * When using PAE Xen, we only allow 33 bits of pseudo-physical
> * address in translated guests (i.e. 8 GBytes). This restriction
> * comes from wanting to map the P2M table into the 16MB RO_MPT hole
> * in Xen's address space for translated PV guests.
> * When using AMD's NPT on PAE Xen, we are restricted to 4GB.
> */
Please move this comment closer to the code it describes.
Also maybe a BUG_ON(CONFIG_PAGING_LEVELS == 3) in the order-18 case
would be useful, since otherwise it looks like order-18 allocations are
exempt from the restriction.
Actually, I don't see where you enforce that - do you?
Tim.
--
Tim Deegan <Tim.Deegan@citrix.com>
Principal Software Engineer, XenServer Engineering
Citrix Systems UK Ltd. (Company #02937203, SL9 0BG)
next prev parent reply other threads:[~2010-02-23 10:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-22 17:18 [PATCH][3/4] Enable 1GB for Xen HVM host page Wei Huang
2010-02-23 10:07 ` Tim Deegan [this message]
2010-02-23 16:37 ` Huang2, Wei
2010-02-24 9:13 ` Tim Deegan
2010-02-25 10:30 ` George Dunlap
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=20100223100724.GO368@whitby.uk.xensource.com \
--to=tim.deegan@citrix.com \
--cc=Keir.Fraser@eu.citrix.com \
--cc=dongxiao.xu@intel.com \
--cc=wei.huang2@amd.com \
--cc=xen-devel@lists.xensource.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 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.