>>> On 14.05.15 at 17:06, <roger....@citrix.com> wrote:
> @@ -3584,12 +3591,8 @@ int shadow_track_dirty_vram(struct domain *d,
>          rc = -ENODATA;
>      }
>      else if (dirty_vram->last_dirty == -1)
> -    {
>          /* still completely clean, just copy our empty bitmap */
> -        rc = -EFAULT;
> -        if ( copy_to_guest(dirty_bitmap, dirty_vram->dirty_bitmap, 
> dirty_size) == 0 )
> -            rc = 0;
> -    }
> +        memcpy(dirty_bitmap, dirty_vram->dirty_bitmap, dirty_size);

Btw, having looked at this again in the context of the coverity issue
it causes - wouldn't this (according to the retained comment) be a
memset()? And if so, in turn a loop over clear_page()?

Which gets me to a second thing: With the large amounts of data
being pushed through copy_to_guest() here and in its HAP
counterpart, wouldn't it make sense to have a specialized function
avoiding cache thrashing along the lines of clear_page() and
copy_page()?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to