[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/PoD: Simplify handling of the quick check
commit d102fe7cb832c584adab002512fe804ab01a39ce Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Mon Sep 17 16:21:53 2018 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Tue Sep 25 11:59:32 2018 +0100 x86/PoD: Simplify handling of the quick check There is no need to duplicate the contents of the skip block. While cleaning up this function, change 4 ints to be unsigned. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx> --- xen/arch/x86/mm/p2m-pod.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c index 29c68a4ed4..5ad62d71c7 100644 --- a/xen/arch/x86/mm/p2m-pod.c +++ b/xen/arch/x86/mm/p2m-pod.c @@ -863,15 +863,14 @@ out: } static void -p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, int count) +p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, unsigned int count) { mfn_t mfns[count]; p2m_type_t types[count]; unsigned long *map[count]; struct domain *d = p2m->domain; + unsigned int i, j, max_ref = 1; - int i, j; - int max_ref = 1; /* Allow an extra refcount for one shadow pt mapping in shadowed domains */ if ( paging_mode_shadow(d) ) @@ -911,14 +910,7 @@ p2m_pod_zero_check(struct p2m_domain *p2m, const gfn_t *gfns, int count) /* Quick zero-check */ for ( j = 0; j < 16; j++ ) if ( *(map[i] + j) != 0 ) - break; - - if ( j < 16 ) - { - unmap_domain_page(map[i]); - map[i] = NULL; - continue; - } + goto skip; /* Try to remove the page, restoring old mapping if it fails. */ if ( p2m_set_entry(p2m, gfns[i], INVALID_MFN, PAGE_ORDER_4K, -- generated by git-patchbot for /home/xen/git/xen.git#staging _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |