RE: [v4 1/3] genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU

From: Wu, Feng
Date: Sun May 17 2015 - 22:43:04 EST


Thanks for the review!

> -----Original Message-----
> From: Thomas Gleixner [mailto:tglx@xxxxxxxxxxxxx]
> Sent: Friday, May 15, 2015 9:18 PM
> To: Wu, Feng
> Cc: mingo@xxxxxxxxxx; hpa@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> jiang.liu@xxxxxxxxxxxxxxx
> Subject: Re: [v4 1/3] genirq: Introduce irq_set_vcpu_affinity() to target an
> interrupt to a VCPU
>
> On Thu, 30 Apr 2015, Feng Wu wrote:
> >
> > Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx>
>
> So I assume Jiang is the author, right?

Oh, yes, I think I made some mistakes while applying the patches. Thanks
for pointing this out!

>
> > Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx>
>
> > /**
> > + * irq_chip_set_vcpu_affinity_parent - Set vcpu affinity on the parent
> interrupt
> > + * @data: Pointer to interrupt specific data
> > + * @dest: The vcpu affinity information
> > + */
> > +int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void
> *vcpu_info)
> > +{
> > + data = data->parent_data;
> > + if (data->chip->irq_set_vcpu_affinity)
> > + return data->chip->irq_set_vcpu_affinity(data, vcpu_info);
> > +
> > + return -ENOSYS;
> > +}
>
> That needs a prototype in irq.h, methinks
>
> > +int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info)
> > +{
> > + struct irq_desc *desc = irq_to_desc(irq);
>
> irq_get_desc_lock() please
>
> > + struct irq_chip *chip;
> > + unsigned long flags;
> > + int ret = -ENOSYS;
> > +
> > + if (!desc)
> > + return -EINVAL;
> > +
> > + raw_spin_lock_irqsave(&desc->lock, flags);
> > + chip = desc->irq_data.chip;
> > + if (chip && chip->irq_set_vcpu_affinity)
> > + ret = chip->irq_set_vcpu_affinity(irq_desc_get_irq_data(desc),
>
> Above you fiddle with desc->irq_data directly. Why using the accessor here?

I will only use one style here.

Thanks,
Feng

>
> > + vcpu_info);
> > + raw_spin_unlock_irqrestore(&desc->lock, flags);
>
> Otherwise this looks good.
>
> Thanks,
>
> tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/