[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xen/mm: Avoid assuming PG_state_inuse == 0 in assign_pages()
From: Julien Grall <jgrall@xxxxxxxxxx> At the moment, assign_pages() relies on PG_state_inuse to be 0. This makes the code slightly more difficult to understand. Rework the code to explicitly check against PG_state_inuse. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> --- xen/common/page_alloc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c index 97902d42c1..54773bc42f 100644 --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -2286,10 +2286,11 @@ int assign_pages( for ( i = 0; i < (1 << order); i++ ) { ASSERT(page_get_owner(&pg[i]) == NULL); - ASSERT(!pg[i].count_info); + ASSERT(page_state_is(&pg[i], inuse)); + ASSERT(!(pg[i].count_info & (~PGC_state))); page_set_owner(&pg[i], d); smp_wmb(); /* Domain pointer must be visible before updating refcnt. */ - pg[i].count_info = PGC_allocated | 1; + pg[i].count_info = PGC_state_inuse | PGC_allocated | 1; page_list_add_tail(&pg[i], &d->page_list); } -- 2.17.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |