[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC] Nested Paging Live Migration



Hi, 

This patch is much nicer.  One or two more nits below, and a
Signed-off-by: line, please. :)

At 16:58 -0500 on 07 Jun (1181235517), Huang2, Wei wrote:
> +int hap_enable_log_dirty(struct domain *d)
> +{
> +    /* turn on PG_log_dirty bit in paging mode */
> +    d->arch.paging.mode |= PG_log_dirty;
> +    p2m_set_flags_global(d, (_PAGE_PRESENT|_PAGE_USER));
> +    flush_tlb_all_pge();
> +
> +    return 0;
> +}
> +
> +int hap_disable_log_dirty(struct domain *d)
> +{
> +    /* log dirty already accquired lock to guard this code */
> +    d->arch.paging.mode &= ~PG_log_dirty;
> +    p2m_set_flags_global(d, __PAGE_HYPERVISOR|_PAGE_USER);
> +    
> +    return 1;
> +}

The log-dirty lock doesn't guard against concurrent updates of
d->arch.paging.mode!  You need the HAP lock here.

>  int paging_domctl(struct domain *d, xen_domctl_shadow_op_t *sc,
>                    XEN_GUEST_HANDLE(void) u_domctl)
>  {
> +    int rc;
> +
> +    if ( unlikely(d == current->domain) )
> +    {
> +        gdprintk(XENLOG_INFO, "Dom %u tried to do a shadow op on itself.\n",

(and subsequently) s/shadow/paging/ here?

> @@ -2565,7 +2568,7 @@ void shadow_teardown(struct domain *d)
>          if (d->arch.paging.shadow.hash_table) 
>              shadow_hash_teardown(d);
>          /* Release the log-dirty bitmap of dirtied pages */
> -        sh_free_log_dirty_bitmap(d);
> +        paging_free_log_dirty_bitmap(d);

Shouldn't this be handled in paging.c?  Otherwise we'd need to acquire
the log-dirty lock with the shadow lock held.

Cheers,

Tim.

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, XenSource UK Limited
Registered office c/o EC2Y 5EB, UK; company number 05334508

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.