> From: Jan Beulich <jbeul...@suse.com>
> Sent: Wednesday, July 15, 2020 6:04 PM
> 
> For full pages this is (meant to be) more efficient. Also change the
> type and reduce the scope of the involved local variable.
> 
> Signed-off-by: Jan Beulich <jbeul...@suse.com>

Reviewed-by: Kevin Tian <kevin.t...@intel.com>

> 
> --- a/xen/drivers/passthrough/vtd/iommu.c
> +++ b/xen/drivers/passthrough/vtd/iommu.c
> @@ -199,7 +199,6 @@ static void sync_cache(const void *addr,
>  uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node)
>  {
>      struct page_info *pg, *cur_pg;
> -    u64 *vaddr;
>      unsigned int i;
> 
>      pg = alloc_domheap_pages(NULL, get_order_from_pages(npages),
> @@ -210,8 +209,9 @@ uint64_t alloc_pgtable_maddr(unsigned lo
>      cur_pg = pg;
>      for ( i = 0; i < npages; i++ )
>      {
> -        vaddr = __map_domain_page(cur_pg);
> -        memset(vaddr, 0, PAGE_SIZE);
> +        void *vaddr = __map_domain_page(cur_pg);
> +
> +        clear_page(vaddr);
> 
>          if ( (iommu_ops.init ? &iommu_ops : &vtd_ops)->sync_cache )
>              sync_cache(vaddr, PAGE_SIZE);

Reply via email to