George Dunlap
2012-Mar-07 17:58 UTC
[PATCH] xen: Make sure log-dirty is turned off before trying to dismantle it
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -722,6 +722,10 @@ int paging_domctl(struct domain *d, xen_ /* Call when destroying a domain */ void paging_teardown(struct domain *d) { + /* Make sure log-dirty is turned off before trying to dismantle it. + * Needs to be done here becuse it''s covered by the hap/shadow lock */ + d->arch.paging.log_dirty.disable_log_dirty(d); + if ( hap_enabled(d) ) hap_teardown(d); else
Tim Deegan
2012-Mar-08 12:17 UTC
Re: [PATCH] xen: Make sure log-dirty is turned off before trying to dismantle it
At 17:58 +0000 on 07 Mar (1331143125), George Dunlap wrote:> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c > --- a/xen/arch/x86/mm/paging.c > +++ b/xen/arch/x86/mm/paging.c > @@ -722,6 +722,10 @@ int paging_domctl(struct domain *d, xen_ > /* Call when destroying a domain */ > void paging_teardown(struct domain *d) > { > + /* Make sure log-dirty is turned off before trying to dismantle it. > + * Needs to be done here becuse it''s covered by the hap/shadow lock */ > + d->arch.paging.log_dirty.disable_log_dirty(d); > + > if ( hap_enabled(d) ) > hap_teardown(d); > else >This isn''t needed upstream because the spinlock confusion that it''s papering over has been properly fixed (by eliminating the log-dirty lock). Cheers, Tim.
George Dunlap
2012-Mar-08 12:26 UTC
Re: [PATCH] xen: Make sure log-dirty is turned off before trying to dismantle it
On Thu, 2012-03-08 at 12:17 +0000, Tim Deegan wrote:> At 17:58 +0000 on 07 Mar (1331143125), George Dunlap wrote: > > diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c > > --- a/xen/arch/x86/mm/paging.c > > +++ b/xen/arch/x86/mm/paging.c > > @@ -722,6 +722,10 @@ int paging_domctl(struct domain *d, xen_ > > /* Call when destroying a domain */ > > void paging_teardown(struct domain *d) > > { > > + /* Make sure log-dirty is turned off before trying to dismantle it. > > + * Needs to be done here becuse it''s covered by the hap/shadow lock */ > > + d->arch.paging.log_dirty.disable_log_dirty(d); > > + > > if ( hap_enabled(d) ) > > hap_teardown(d); > > else > > > > This isn''t needed upstream because the spinlock confusion that it''s > papering over has been properly fixed (by eliminating the log-dirty > lock).Yes; I''m afraid I didn''t read the ticket referenced here very well either. Sorry about that -- it just looked so obvious. :-) It looks like Keir has already added it -- do you want to revert it? -George
Keir Fraser
2012-Mar-08 12:30 UTC
Re: [PATCH] xen: Make sure log-dirty is turned off before trying to dismantle it
On 08/03/2012 12:26, "George Dunlap" <george.dunlap@citrix.com> wrote:> On Thu, 2012-03-08 at 12:17 +0000, Tim Deegan wrote: >> At 17:58 +0000 on 07 Mar (1331143125), George Dunlap wrote: >>> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c >>> --- a/xen/arch/x86/mm/paging.c >>> +++ b/xen/arch/x86/mm/paging.c >>> @@ -722,6 +722,10 @@ int paging_domctl(struct domain *d, xen_ >>> /* Call when destroying a domain */ >>> void paging_teardown(struct domain *d) >>> { >>> + /* Make sure log-dirty is turned off before trying to dismantle it. >>> + * Needs to be done here becuse it''s covered by the hap/shadow lock */ >>> + d->arch.paging.log_dirty.disable_log_dirty(d); >>> + >>> if ( hap_enabled(d) ) >>> hap_teardown(d); >>> else >>> >> >> This isn''t needed upstream because the spinlock confusion that it''s >> papering over has been properly fixed (by eliminating the log-dirty >> lock). > > Yes; I''m afraid I didn''t read the ticket referenced here very well > either. Sorry about that -- it just looked so obvious. :-) > > It looks like Keir has already added it -- do you want to revert it?Done. -- Keir> -George > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
Tim Deegan
2012-Mar-08 12:33 UTC
Re: [PATCH] xen: Make sure log-dirty is turned off before trying to dismantle it
At 12:26 +0000 on 08 Mar (1331209562), George Dunlap wrote:> On Thu, 2012-03-08 at 12:17 +0000, Tim Deegan wrote: > > At 17:58 +0000 on 07 Mar (1331143125), George Dunlap wrote: > > > diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c > > > --- a/xen/arch/x86/mm/paging.c > > > +++ b/xen/arch/x86/mm/paging.c > > > @@ -722,6 +722,10 @@ int paging_domctl(struct domain *d, xen_ > > > /* Call when destroying a domain */ > > > void paging_teardown(struct domain *d) > > > { > > > + /* Make sure log-dirty is turned off before trying to dismantle it. > > > + * Needs to be done here becuse it''s covered by the hap/shadow lock */ > > > + d->arch.paging.log_dirty.disable_log_dirty(d); > > > + > > > if ( hap_enabled(d) ) > > > hap_teardown(d); > > > else > > > > > > > This isn''t needed upstream because the spinlock confusion that it''s > > papering over has been properly fixed (by eliminating the log-dirty > > lock). > > Yes; I''m afraid I didn''t read the ticket referenced here very well > either. Sorry about that -- it just looked so obvious. :-) > > It looks like Keir has already added it -- do you want to revert it?Yep - though I see it''s already been reverted too. :) The code is harmless enough but the comment was confusing. Tim.