> -----Original Message----- > From: Dario Faggioli [mailto:dario.faggi...@citrix.com] > Sent: Monday, September 21, 2015 9:32 PM > To: Wu, Feng; George Dunlap > Cc: xen-devel@lists.xen.org; Tian, Kevin; Keir Fraser; George Dunlap; Andrew > Cooper; Jan Beulich > Subject: Re: [Xen-devel] [PATCH v7 15/17] vmx: VT-d posted-interrupt core > logic > handling > > On Mon, 2015-09-21 at 11:59 +0000, Wu, Feng wrote: > > > > > -----Original Message----- > > > From: George Dunlap [mailto:george.dun...@citrix.com] > > > > > I think the handling for lazy context switch is not only for the > > > > blocking case, > > > > we still need to do something for lazy context switch even we > > > > handled the > > > > blocking case in vcpu_block(), such as, > > > > 1. For non-idle -> idle > > > > - set 'SN' > > > > > > If we set SN in vcpu_block(), then we don't need to set it on > > > context > > > switch -- 是不是? > > > > For preemption case (not blocking case) , we still need to clear/set > > SN, and > > this has no business with vcpu_block()/vcpu_wake(), right? Do I miss > > something > > here? BTW, you Chinese is good! :) > > > Well, sure, preemptions are fine being dealt with during context > switches. > > AFAICR, Geoge was suggesting investigating the possibility of doing > that within the already existing arch specific part of the context > switch itself. Have you checked whether that would be possible? If yes, > it really would be great, IMO.
This is George's suggestion about this: " And at that point, could we actually get rid of the PI-specific context switch hooks altogether, and just put the SN state changes required for running->runnable and runnable->running in vmx_ctxt_switch_from() and vmx_ctxt_switch_to()?" However, vmx_ctxt_switch_from() and vmx_ctxt_switch_to() are called in __context_switch(), which still cannot cover "non-idle -> idle" and "idle -> non-idle" lazy transition. And I think we need to change SN's state during the two transitions. > > Note that, in case of preemptions, we are switching from a non-idle > vcpu to another, non-idle, vcpu, so lazy context switching to the idle > vcpu should not have much to do with this case... So do you mean in preemptions, we cannot switch from non-idle to idle or Idle to non-idle, i.e, we can only switch from non-idle to non-idle? Thanks, Feng > Was this something > you were saying something/asking about above? (seems so, but I can't be > sure, so I thought I better ask :-) ). > > Regards, > Dario > > -- > <<This happens because I choose it to happen!>> (Raistlin Majere) > ----------------------------------------------------------------- > Dario Faggioli, Ph.D, http://about.me/dario.faggioli > Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel