>>> On 23.03.15 at 09:14, <feng...@intel.com> wrote: >> From: Jan Beulich [mailto:jbeul...@suse.com] >> Sent: Thursday, March 19, 2015 5:57 PM >> >>> On 18.03.15 at 13:44, <feng...@intel.com> wrote: >> > Here are what we do for the blocked vCPU: >> > 1. Define a per-cpu list 'blocked_vcpu_on_cpu', which stored the blocked >> > vCPU on the pCPU. >> > 2. When the vCPU's state is changed to RUNSTATE_blocked, insert the vCPU >> > to the per-cpu list belonging to the pCPU it was running. >> > 3. When the vCPU is unblocked, remove the vCPU from the related pCPU list. >> >> And this works transparently not only with the generic scheduler >> code moving the vCPU to another pCPU, but also with some of the >> individual scheduler implementations doing such re-assignments? > > I cannot quite understand this, could you please elaborate a bit more.
There are multiple places where v->processor can get changed for a particular vCPU, and obviously all of these need to be taken care of. Yet a change like the one to come here would normally not be expected to touch specific schedulers' code, and hence suitably abstracting this may need some extra thought. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel