[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/4] tools/dombuilder: Don't allocate dom->p2m_host[] for translated domains
On 03.01.2020 16:02, Andrew Cooper wrote: > On 03/01/2020 14:25, Jan Beulich wrote: >> On 17.12.2019 21:15, Andrew Cooper wrote: >>> --- a/tools/libxc/include/xc_dom.h >>> +++ b/tools/libxc/include/xc_dom.h >>> @@ -123,16 +123,12 @@ struct xc_dom_image { >>> >>> /* other state info */ >>> uint32_t f_active[XENFEAT_NR_SUBMAPS]; >>> + >>> /* >>> - * p2m_host maps guest physical addresses an offset from >>> - * rambase_pfn (see below) into gfns. >> The removal of this part of the comment and ... >> >>> - * For a pure PV guest this means that it maps GPFNs into MFNs for >>> - * a hybrid guest this means that it maps GPFNs to GPFNS. >>> - * >>> - * Note that the input is offset by rambase. >>> + * pv_p2m is specific to x86 PV guests, and maps GFNs to MFNs. It is >>> + * eventually copied into guest context. >>> */ >>> - xen_pfn_t *p2m_host; >>> + xen_pfn_t *pv_p2m; >>> >>> /* physical memory >>> * >>> @@ -433,9 +429,12 @@ static inline xen_pfn_t xc_dom_p2m(struct xc_dom_image >>> *dom, xen_pfn_t pfn) >>> { >>> if ( xc_dom_translated(dom) ) >>> return pfn; >>> - if (pfn < dom->rambase_pfn || pfn >= dom->rambase_pfn + >>> dom->total_pages) >>> + >>> + /* x86 PV only now. */ >>> + if ( pfn >= dom->total_pages ) >>> return INVALID_MFN; >>> - return dom->p2m_host[pfn - dom->rambase_pfn]; >>> + >>> + return dom->pv_p2m[pfn]; >>> } >> ... the dropping of all uses of rambase_pfn here make it look >> like you're doing away with that concept altogether. Is this >> really correct? > > Well - it is effectively dead code here, because of the > xc_dom_translated() in context above, and it being 0 outside of ARM. > > The (nonzero) value is used by other bits of ARM code. > >> If so, I guess you want to >> - say a word in this regard in the description, the more that >> you don't fully get rid of this (the structure field and >> some uses elsewhere remain), >> - drop/adjust the respective comment fragment next to the >> field a little further down in the structure. > > The domain builder is made almost exclusively of bitrot, but I don't > have an ARM system to do any testing on. Given how fragile the code is, > I'm not comfortable doing speculative deletion of code I'm not certain > is unused. My remark was about this (non-Arm) part of the comment: * An x86 PV guest has one or more blocks of physical RAM, * consisting of total_pages starting at rambase_pfn. The start * address and size of each block is controlled by vNUMA * structures. I did in no way mean to ask for speculative deletion of code. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |