From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wu, Feng" Subject: Re: [v3 12/15] vmx: posted-interrupt handling when vCPU is blocked Date: Thu, 2 Jul 2015 10:41:47 +0000 Message-ID: References: <1435123109-10481-1-git-send-email-feng.wu@intel.com> <1435123109-10481-13-git-send-email-feng.wu@intel.com> <55926B62.1000605@citrix.com> <1435757162.25170.354.camel@citrix.com> <1435825820.25170.416.camel@citrix.com> <1435831792.25170.440.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1435831792.25170.440.camel@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Dario Faggioli Cc: "Tian, Kevin" , "keir@xen.org" , "george.dunlap@eu.citrix.com" , Andrew Cooper , "xen-devel@lists.xen.org" , "jbeulich@suse.com" , "Zhang, Yang Z" , "Wu, Feng" List-Id: xen-devel@lists.xenproject.org > -----Original Message----- > From: Dario Faggioli [mailto:dario.faggioli@citrix.com] > Sent: Thursday, July 02, 2015 6:10 PM > To: Wu, Feng > Cc: Andrew Cooper; xen-devel@lists.xen.org; Zhang, Yang Z; > george.dunlap@eu.citrix.com; Tian, Kevin; keir@xen.org; jbeulich@suse.com > Subject: Re: [Xen-devel] [v3 12/15] vmx: posted-interrupt handling when vCPU > is blocked > > On Thu, 2015-07-02 at 08:58 +0000, Wu, Feng wrote: > > > > -----Original Message----- > > > From: Dario Faggioli [mailto:dario.faggioli@citrix.com] > > > > > > This is the third time that I ask: > > > (1) whether it is possible to have more vcpus queued on one pcpu PI > > > blocked list with desc.on (I really believe it is); > > > > I think it is, please see the following scenario: > > > > When cpu masks the interrupts, and an external interrupt occurs for the > > assigned device while the target vCPU2 is blocked, the wakeup notification > > event handler has no chance to run, after a while, another wakeup > > notification event for vCPU4 blocking on the same pCPU occurs, > > after cpu unmakes the interrupts, wakeup notification handler > > gets called. Then we get: > > vCPU2, desc.on = 1 and vCPU4, desc.on = 1 > > Then in the handler we need to kick both of them. > > > Ok, first of all, thanks for answering! :-) > > And yes, this makes sense. > > > > (2) if yes, whether it is TheRightThing(TM) to kick all of them, as > > > soon as any notification arrives, instead that putting together a > > > mechanism for kicking only a specific one. > > > > > Why can't we kick all of them, 'desc.on = 1' means there is a pending > > interrupt, when we meet this condition, kicking the related vCPU should > > be the right thing to do. > > > Right, I see it now. I felt like I was missing something, and that's why > I was asking to you to elaborate a bit more. > Thanks again for having done this. I was missing/forgetting half of the > way desc.on is actually handled, sorry for this. > > BTW, I'm finding it hard reading this series from the archives; there > appears to be some threading issues and some missing messages. I also > don't have it in my inbox, because my filters failed to spot and flag it > properly. If you send a new version, please, Cc me, so it will be easier > for me to look at all the patches, and provide a more helpful review. Sure, thanks for the review! Thanks, Feng > > Thanks and Regards, > Dario > > -- > <> (Raistlin Majere) > ----------------------------------------------------------------- > Dario Faggioli, Ph.D, http://about.me/dario.faggioli > Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)