Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030332AbbEONSA (ORCPT ); Fri, 15 May 2015 09:18:00 -0400 Received: from www.linutronix.de ([62.245.132.108]:41495 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422669AbbEONR5 (ORCPT ); Fri, 15 May 2015 09:17:57 -0400 Date: Fri, 15 May 2015 15:18:00 +0200 (CEST) From: Thomas Gleixner To: Feng Wu cc: mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org, jiang.liu@linux.intel.com Subject: Re: [v4 1/3] genirq: Introduce irq_set_vcpu_affinity() to target an interrupt to a VCPU In-Reply-To: <1430377608-10490-2-git-send-email-feng.wu@intel.com> Message-ID: References: <1430377608-10490-1-git-send-email-feng.wu@intel.com> <1430377608-10490-2-git-send-email-feng.wu@intel.com> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1567 Lines: 57 On Thu, 30 Apr 2015, Feng Wu wrote: > > Signed-off-by: Jiang Liu So I assume Jiang is the author, right? > Signed-off-by: Feng Wu > /** > + * 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/