Re: [Xen-devel] [PATCH v4 4/4] xen: rework paging_log_dirty_op to work with hvm guests

2015-05-08 Thread Roger Pau Monné
El 08/05/15 a les 10.40, Jan Beulich ha escrit: On 08.05.15 at 10:28, wrote: >> El 07/05/15 a les 17.48, Jan Beulich ha escrit: >> On 07.05.15 at 16:29, wrote: --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -408,6 +408,51 @@ int paging_mfn_is_dirty(struct

Re: [Xen-devel] [PATCH v4 4/4] xen: rework paging_log_dirty_op to work with hvm guests

2015-05-08 Thread Jan Beulich
>>> On 08.05.15 at 10:28, wrote: > El 07/05/15 a les 17.48, Jan Beulich ha escrit: > On 07.05.15 at 16:29, wrote: >>> --- a/xen/arch/x86/mm/paging.c >>> +++ b/xen/arch/x86/mm/paging.c >>> @@ -408,6 +408,51 @@ int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn) >>> return rv; >>> } >>>

Re: [Xen-devel] [PATCH v4 4/4] xen: rework paging_log_dirty_op to work with hvm guests

2015-05-08 Thread Roger Pau Monné
El 07/05/15 a les 17.48, Jan Beulich ha escrit: On 07.05.15 at 16:29, wrote: >> --- a/xen/arch/x86/mm/paging.c >> +++ b/xen/arch/x86/mm/paging.c >> @@ -408,6 +408,51 @@ int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn) >> return rv; >> } >> >> +static inline void *map_dirty_bitmap

Re: [Xen-devel] [PATCH v4 4/4] xen: rework paging_log_dirty_op to work with hvm guests

2015-05-07 Thread Jan Beulich
>>> On 07.05.15 at 16:29, wrote: > --- a/xen/arch/x86/mm/paging.c > +++ b/xen/arch/x86/mm/paging.c > @@ -408,6 +408,51 @@ int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn) > return rv; > } > > +static inline void *map_dirty_bitmap(XEN_GUEST_HANDLE_64(uint8) dirty_bitmap, > +

[Xen-devel] [PATCH v4 4/4] xen: rework paging_log_dirty_op to work with hvm guests

2015-05-07 Thread Roger Pau Monne
When the caller of paging_log_dirty_op is a hvm guest Xen would choke when trying to copy the dirty bitmap to the guest because the paging lock is already held. Fix this by independently mapping each page of the guest bitmap as needed without the paging lock held. Signed-off-by: Roger Pau Monné