From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 3/5] v4v: Introduce VIRQ_V4V Date: Thu, 31 May 2012 16:44:08 +0100 Message-ID: <4FC7ADE80200007800087724@nat28.tlf.novell.com> References: <1338476832-26653-1-git-send-email-jean.guyader@citrix.com> <1338476832-26653-4-git-send-email-jean.guyader@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1338476832-26653-4-git-send-email-jean.guyader@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jean Guyader , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org >>> On 31.05.12 at 17:07, Jean Guyader wrote: >--- a/xen/common/event_channel.c >+++ b/xen/common/event_channel.c >@@ -107,6 +107,7 @@ static int virq_is_global(uint32_t virq) > case VIRQ_TIMER: > case VIRQ_DEBUG: > case VIRQ_XENOPROF: >+ case VIRQ_V4V: Either the placement here is wrong (the vIRQ being per-vCPU), ... > rc = 0; > break; > case VIRQ_ARCH_0 ... VIRQ_ARCH_7: >--- a/xen/include/public/xen.h >+++ b/xen/include/public/xen.h >@@ -157,7 +157,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t); > #define VIRQ_CON_RING 8 /* G. (DOM0) Bytes received on console */ > #define VIRQ_PCPU_STATE 9 /* G. (DOM0) PCPU state changed */ > #define VIRQ_MEM_EVENT 10 /* G. (DOM0) A memory event has occured */ >-#define VIRQ_XC_RESERVED 11 /* G. Reserved for XenClient */ >+#define VIRQ_V4V 11 /* G. V4V event has occurred */ ... or the comment here is (and was before). This is an ABI property, end hence you can't really convert a vIRQ defined to be global to a per-vCPU one. So if it turns out the comment was wrong, I would argue whether the change here is really acceptable - our kernel, for example, has built-in knowledge of which vIRQ-s are per-vCPU (but of course this should be benign when the only consumer of the vIRQ lives in userland; otoh, a userland consumer can hardly really make use of a per-vCPU one). Jan > #define VIRQ_ENOMEM 12 /* G. (DOM0) Low on heap memory */ > > /* Architecture-specific VIRQ definitions. */