[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 08/10] xen/arm: introduce reserved_page_list
On 18.05.2021 07:21, Penny Zheng wrote: > Since page_list under struct domain refers to linked pages as gueast RAM > allocated from heap, it should not include reserved pages of static memory. > > The number of PGC_reserved pages assigned to a domain is tracked in > a new 'reserved_pages' counter. Also introduce a new reserved_page_list > to link pages of static memory. Let page_to_list return reserved_page_list, > when flag is PGC_reserved. > > Later, when domain get destroyed or restarted, those new values will help > relinquish memory to proper place, not been given back to heap. > > Signed-off-by: Penny Zheng <penny.zheng@xxxxxxx> > --- > xen/common/domain.c | 1 + > xen/common/page_alloc.c | 7 +++++-- > xen/include/xen/sched.h | 5 +++++ > 3 files changed, 11 insertions(+), 2 deletions(-) This contradicts the title's prefix: There's no Arm-specific change here at all. But imo the title is correct, and the changes should be Arm-specific. There's no point having struct domain fields on e.g. x86 which aren't used there at all. > --- a/xen/common/page_alloc.c > +++ b/xen/common/page_alloc.c > @@ -2410,7 +2410,7 @@ int assign_pages( > > for ( i = 0; i < nr_pfns; i++ ) > { > - ASSERT(!(pg[i].count_info & ~PGC_extra)); > + ASSERT(!(pg[i].count_info & ~(PGC_extra | PGC_reserved))); > if ( pg[i].count_info & PGC_extra ) > extra_pages++; > } > @@ -2439,6 +2439,9 @@ int assign_pages( > } > } > > + if ( pg[0].count_info & PGC_reserved ) > + d->reserved_pages += nr_pfns; I guess this again will fail to build on x86. > @@ -588,6 +590,9 @@ static inline struct page_list_head *page_to_list( > if ( pg->count_info & PGC_extra ) > return &d->extra_page_list; > > + if ( pg->count_info & PGC_reserved ) > + return &d->reserved_page_list; Same here. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |