[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

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: 
Sent from the Xen - Dev mailing list archive at Nabble.com.

Xen-devel mailing list



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