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

Re: [Xen-devel] [PATCH V5 09/12] xen/vm_event: Decouple vm_event and mem_access.



>>> On 13.02.15 at 17:33, <tamas.lengyel@xxxxxxxxxxxx> wrote:
> @@ -1293,56 +1293,30 @@ int p2m_mem_paging_prep(struct domain *d, unsigned 
> long gfn, uint64_t buffer)
>   *
>   * If the gfn was dropped the vcpu needs to be unpaused.
>   */
> -void p2m_mem_paging_resume(struct domain *d)
> +
> +void p2m_mem_paging_resume(struct domain *d, vm_event_response_t *rsp)
>  {
>      struct p2m_domain *p2m = p2m_get_hostp2m(d);
> -    vm_event_response_t rsp;
>      p2m_type_t p2mt;
>      p2m_access_t a;
>      mfn_t mfn;
>  
> -    /* Pull all responses off the ring */
> -    while( vm_event_get_response(d, &d->vm_event->paging, &rsp) )
> +    /* Fix p2m entry if the page was not dropped */
> +    if ( !(rsp->u.mem_paging.flags & MEM_PAGING_DROP_PAGE) )
>      {
> -        struct vcpu *v;
> -
> -        if ( rsp.version != VM_EVENT_INTERFACE_VERSION )
> -        {
> -            printk(XENLOG_G_WARNING "vm_event interface version mismatch\n");
> -            continue;
> -        }
> -
> -#ifndef NDEBUG
> -        if ( rsp.flags & VM_EVENT_FLAG_DUMMY )
> -            continue;
> -#endif
> -
> -        /* Validate the vcpu_id in the response. */
> -        if ( (rsp.vcpu_id >= d->max_vcpus) || !d->vcpu[rsp.vcpu_id] )
> -            continue;
> -
> -        v = d->vcpu[rsp.vcpu_id];
> -
> -        /* Fix p2m entry if the page was not dropped */
> -        if ( !(rsp.u.mem_paging.flags & MEM_PAGING_DROP_PAGE) )
> +        unsigned long gfn = rsp->u.mem_access.gfn;
> +        gfn_lock(p2m, gfn, 0);

Once again - blank line between declarations and statements please.

> +        mfn = p2m->get_entry(p2m, gfn, &p2mt, &a, 0, NULL);
> +        /* Allow only pages which were prepared properly, or pages which
> +         * were nominated but not evicted */

Coding style.

> @@ -48,15 +46,15 @@ bool_t vm_event_check_ring(struct vm_event_domain *med);
>   * succeed.
>   */
>  int __vm_event_claim_slot(struct domain *d, struct vm_event_domain *med,
> -                            bool_t allow_sleep);
> +                          bool_t allow_sleep);
>  static inline int vm_event_claim_slot(struct domain *d,
> -                                        struct vm_event_domain *med)
> +                                      struct vm_event_domain *med)
>  {
>      return __vm_event_claim_slot(d, med, 1);
>  }
>  
>  static inline int vm_event_claim_slot_nosleep(struct domain *d,
> -                                        struct vm_event_domain *med)
> +                                              struct vm_event_domain *med)

All these whitespace changes here and further down don't really
belong in this patch - please again get this right when adding the
code.

Jan


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


 


Rackspace

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