[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |