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

Re: [Xen-devel] [PATCH] x86/MSI: drop local cpumask_t variable from msi_compose_msg()



On 14/10/2011 11:24, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:

> The function gets called only during initialization/resume (when no
> other CPUs are running) or with the IRQ descriptor lock held, so
> there's no way for the CPU mask to change under its feet.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Acked-by: Keir Fraser <keir@xxxxxxx>

I wonder whether the cpus_empty() check should be a BUG_ON. Or an ASSERT
pushed into cpu_mask_to_apicid.

 -- Keir

> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -123,18 +123,16 @@ static void msix_put_fixmap(struct pci_d
>  void msi_compose_msg(struct irq_desc *desc, struct msi_msg *msg)
>  {
>      unsigned dest;
> -    cpumask_t domain;
>      struct irq_cfg *cfg = desc->chip_data;
>      int vector = cfg->vector;
> -    domain = cfg->cpu_mask;
>  
> -    if ( cpus_empty( domain ) ) {
> +    if ( cpus_empty(cfg->cpu_mask) ) {
>          dprintk(XENLOG_ERR,"%s, compose msi message error!!\n", __func__);
> -     return;
> +        return;
>      }
>  
>      if ( vector ) {
> -        dest = cpu_mask_to_apicid(&domain);
> +        dest = cpu_mask_to_apicid(&cfg->cpu_mask);
>  
>          msg->address_hi = MSI_ADDR_BASE_HI;
>          msg->address_lo =
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
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®.