Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752064AbbERCpW (ORCPT ); Sun, 17 May 2015 22:45:22 -0400 Received: from mga03.intel.com ([134.134.136.65]:45662 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751976AbbERCpO convert rfc822-to-8bit (ORCPT ); Sun, 17 May 2015 22:45:14 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,449,1427785200"; d="scan'208";a="711661256" From: "Wu, Feng" To: Thomas Gleixner CC: "mingo@redhat.com" , "hpa@zytor.com" , "linux-kernel@vger.kernel.org" , "jiang.liu@linux.intel.com" , "Wu, Feng" Subject: RE: [v4 3/3] x86, irq: Define a global vector for VT-d Posted-Interrupts Thread-Topic: [v4 3/3] x86, irq: Define a global vector for VT-d Posted-Interrupts Thread-Index: AQHQjxLb03vTPaB6TECXductv0Pf152BCr7w Date: Mon, 18 May 2015 02:44:53 +0000 Message-ID: References: <1430377608-10490-1-git-send-email-feng.wu@intel.com> <1430377608-10490-4-git-send-email-feng.wu@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1613 Lines: 68 > -----Original Message----- > From: Thomas Gleixner [mailto:tglx@linutronix.de] > Sent: Friday, May 15, 2015 9:27 PM > To: Wu, Feng > Cc: mingo@redhat.com; hpa@zytor.com; linux-kernel@vger.kernel.org; > jiang.liu@linux.intel.com > Subject: Re: [v4 3/3] x86, irq: Define a global vector for VT-d Posted-Interrupts > > On Thu, 30 Apr 2015, Feng Wu wrote: > > #ifdef CONFIG_HAVE_KVM > > +void (*wakeup_handler_callback)(void); > > +EXPORT_SYMBOL_GPL(wakeup_handler_callback); > > The matching entry in a header file is going to come later again? I will add the declaration in a header file in this patch. > > > /* > > * Handler for POSTED_INTERRUPT_VECTOR. > > */ > > @@ -256,6 +259,30 @@ __visible void smp_kvm_posted_intr_ipi(struct > pt_regs *regs) > > > > set_irq_regs(old_regs); > > } > > + > > +/* > > + * Handler for POSTED_INTERRUPT_WAKEUP_VECTOR. > > + */ > > +__visible void smp_kvm_posted_intr_wakeup_ipi(struct pt_regs *regs) > > +{ > > + struct pt_regs *old_regs = set_irq_regs(regs); > > + > > + ack_APIC_irq(); > > + > > + irq_enter(); > > + > > + exit_idle(); > > entering_ack_irq() please Good idea! Thanks, Feng > > > + inc_irq_stat(kvm_posted_intr_wakeup_ipis); > > + > > + if (wakeup_handler_callback) > > + wakeup_handler_callback(); > > + > > + irq_exit(); > > + > > + set_irq_regs(old_regs); > > +} > > 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/