|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] [PATCH 1 of 2] mem_event: pass mem_event_domain	pointer 
 
Hi, 
At 14:15 +0200 on 07 Sep (1315404929), Olaf Hering wrote:
> mem_event: pass mem_event_domain pointer to mem_event functions
> 
> Pass a struct mem_event_domain pointer to the various mem_event
> functions.  This will be used in a subsequent patch which creates
> different ring buffers for the memshare, xenpaging and memaccess
> functionality.
This looks basically sound, except that in mem_event_check_ring(): 
> -int mem_event_check_ring(struct domain *d)
> +int mem_event_check_ring(struct mem_event_domain *med, domid_t dom_id)
>  {
>      struct vcpu *curr = current;
>      int free_requests;
>      int ring_full = 1;
>  
> -    if ( !d->mem_event.ring_page )
> +    if ( !med->ring_page )
>          return -1;
>  
> -    mem_event_ring_lock(d);
> +    mem_event_ring_lock(med);
>  
> -    free_requests = RING_FREE_REQUESTS(&d->mem_event.front_ring);
> -    if ( d->mem_event.req_producers < free_requests )
> +    free_requests = RING_FREE_REQUESTS(&med->front_ring);
> +    if ( med->req_producers < free_requests )
>      {
> -        d->mem_event.req_producers++;
> +        med->req_producers++;
>          ring_full = 0;
>      }
>  
> -    if ( (curr->domain->domain_id == d->domain_id) && ring_full )
> +    if ( (curr->domain->domain_id == dom_id) && ring_full )
>          mem_event_mark_and_pause(curr);
I think you should just have it take a domain and a med like the otehr
functions, and have this check be ( curr->domain == d ).
I'm pretty sure that checking for equal domain IDs here is just a slight
oddity of the original code and not something subtle. :)
Cheers,
Tim.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
 | 
    | 
  
  
    |   | 
    |