[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1505151510190.4225@nanos>
Date: Fri, 15 May 2015 15:18:00 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Feng Wu <feng.wu@...el.com>
cc: mingo@...hat.com, hpa@...or.com, linux-kernel@...r.kernel.org,
jiang.liu@...ux.intel.com
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@...ux.intel.com>
So I assume Jiang is the author, right?
> Signed-off-by: Feng Wu <feng.wu@...el.com>
> /**
> + * 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?
> + 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists