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

[Xen-devel] Re: Question: Dynamic code in x86_64 Xen


  • To: "Santos, Jose Renato G" <joserenato.santos@xxxxxx>
  • From: Keir Fraser <keir@xxxxxxxxxxxxx>
  • Date: Tue, 10 Jul 2007 23:01:09 +0100
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 10 Jul 2007 14:55:51 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcfCeLas9RtSXi5rEdybDQAWy6hiGQAAJUBxAClLUyAAAPItIAAG5CB1
  • Thread-topic: Question: Dynamic code in x86_64 Xen

On 10/7/07 19:47, "Santos, Jose Renato G" <joserenato.santos@xxxxxx> wrote:

> Could you please help me understand some Xen code profile
> that I cannot explain?
> When running netperf on x86_64 Xen, oprofile reports that 2%
> of the PC samples are not recognized (i.e. they correspond
> to code outside the ".text" section reported on xen image
> file). I added some instrumentation in oprofile and observed
> that these PC samples are located in:
> 1) for dom0: in Xen BSS section (more specifically on cpu0_stack)
> 2) for domU: outside any section specified in Xen image file
>  (i.e. dynamically allocated memory)

Yes, these are executions on the stack. This is expected behaviour for
x86_64. The syscall instruction enters Xen via a stack trampoline. This is
because syscall does not switch %rsp for us. Hence using a stack trampoline
cunningly lets us compute %rsp from %rip.

If you see 2% of your samples in the syscall trampoline, this probably
indicates mainly that the processor is spending ~2% of its time doing a
syscall transition (and then the NMI occurs on teh very first instruction
executed in Xen).

 -- Keir

> I suspect case 2 is also a stack for a different CPU which
> is dynamically allocated (and used in the CPU that the guest
> is executing) but I am not sure...
>  
> Anyway, why whould Xen execute any code from the stack? Is
> this expected Xen behavior or this is a bug somewhere
> (probably in xenoprofile)?
> I did not see this behavior in the past when I was using x86_32 Xen.
> Could you please shed some light on this ...


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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