[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] switch vcpu on physical cpu


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: xennn <openbg@xxxxxx>
  • Date: Mon, 3 Mar 2014 12:10:42 -0800 (PST)
  • Delivery-date: Mon, 03 Mar 2014 20:11:18 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

hello all 

I would like to ask about switching vcpu-s on physcial one when we have
paravirtualization. 

I think tha actual switching is happaning at switch_kernel_stack(struct vcpu
*v) function in domain.c file.


static inline void switch_kernel_stack(struct vcpu *v)
{
    struct tss_struct *tss = &this_cpu(init_tss);
    tss->esp1 = v->arch.pv_vcpu.kernel_sp;
    tss->ss1  = v->arch.pv_vcpu.kernel_ss;
}

Here the actual task switching is happen - the kernel stack of the current
physical cpu is get by this_cpu() 
and afther that the kernel stack of that current task is changed to the
vcpu's one.  So the task is swiched to the new vcpu state. 

Is that correct?

I would like to ask what is tss_struct - task structure, task stack segment
structure or something else?

Best Regards




--
View this message in context: 
http://xen.1045712.n5.nabble.com/switch-vcpu-on-physical-cpu-tp5721484.html
Sent from the Xen - Dev mailing list archive at Nabble.com.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.