[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH][3/4] Enable 1GB for Xen HVM host page
At 16:37 +0000 on 23 Feb (1266943030), Huang2, Wei wrote: > I was hoping that someone else would pick up the 1GB PoD task. :P I > can try to implement this feature if deemed necessary. I think it will be OK - PoD is only useful with balloon drivers, which currently don't even maintain 2MB superpages, so it's probably not worth engineering up 1GB PoD. Tim. > -Wei > > -----Original Message----- > From: Tim Deegan [mailto:Tim.Deegan@xxxxxxxxxx] > Sent: Tuesday, February 23, 2010 4:07 AM > To: Huang2, Wei > Cc: 'xen-devel@xxxxxxxxxxxxxxxxxxx'; Keir Fraser; Xu, Dongxiao > Subject: Re: [Xen-devel] [PATCH][3/4] Enable 1GB for Xen HVM host page > > 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@xxxxxxx> > > Acked-by: Dongxiao Xu <dongxiao.xu@xxxxxxxxx> > > > > @@ -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@xxxxxxxxxx> > Principal Software Engineer, XenServer Engineering > Citrix Systems UK Ltd. (Company #02937203, SL9 0BG) > > -- Tim Deegan <Tim.Deegan@xxxxxxxxxx> Principal Software Engineer, XenServer Engineering Citrix Systems UK Ltd. (Company #02937203, SL9 0BG) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |