Xen Project Q&A Forum: First Line Help for Simple Questions

This is your chance to ask questions and provide answers about basic use of the Xen Project software. For debugging problems and for more complex issues, consider using the xen-users mailing list instead. You can find information about xen-users under "HELP | Mailing Lists" in the navigation bar above.

Issue

Xen 4.3 Build With Performance Counter

posted in Hypervisor
Wednesday, November 13 2013, 09:19 AM
0
I use the source of Xen 4.3. By following the official guide, I can start xen and use it. But if I want to use the xenperf(one of the xen-tools). The output is "Error getting number of perf counters: 38 (Function not implemented)". I google it and someone says xen should build with performance counter. So I execute: perfc=y perfc_arrays=y make dist. And then make install. But the following error arise.

/home/binary/workspace/xen-4.3.0/xen/common/symbols-dummy.o -o /home/binary/workspace/xen-4.3.0/xen/.xen-syms.0
prelink.o:在函数‘do_multicall’中:
/home/binary/workspace/xen-4.3.0/xen/common/multicall.c:102:对‘per_cpu__perfcounters’未定义的引用
/home/binary/workspace/xen-4.3.0/xen/common/multicall.c:102:(.text+0x151aa): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
/home/binary/workspace/xen-4.3.0/xen/common/multicall.c:96:对‘per_cpu__perfcounters’未定义的引用
/home/binary/workspace/xen-4.3.0/xen/common/multicall.c:96:(.text+0x15228): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
prelink.o:在函数‘alloc_heap_pages’中:
/home/binary/workspace/xen-4.3.0/xen/common/page_alloc.c:723:对‘per_cpu__perfcounters’未定义的引用
/home/binary/workspace/xen-4.3.0/xen/common/page_alloc.c:723:(.text+0x15c3c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
prelink.o:在函数‘csched_vcpu_remove’中:
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:897:对‘per_cpu__perfcounters’未定义的引用
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:897:(.text+0x18e63): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
prelink.o:在函数‘csched_vcpu_sleep’中:
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:918:对‘per_cpu__perfcounters’未定义的引用
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:918:(.text+0x18ff3): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
prelink.o:/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:866: more undefined references to `per_cpu__perfcounters' follow
prelink.o:在函数‘csched_alloc_vdata’中:
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:866:(.text+0x1910a): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
prelink.o:在函数‘csched_acct’中:
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:1215:(.text+0x19a90): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:1349:(.text+0x19c56): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:1332:(.text+0x19d22): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:1325:(.text+0x19e93): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `per_cpu__perfcounters'
/home/binary/workspace/xen-4.3.0/xen/common/sched_credit.c:1204:(.text+0x19f1c): additional relocation overflows omitted from the output
prelink.o:在函数‘do_sysctl’中:
/home/binary/workspace/xen-4.3.0/xen/common/sysctl.c:118:对‘perfc_control’未定义的引用
prelink.o:在函数‘compat_multicall’中:
/home/binary/workspace/xen-4.3.0/xen/common/compat/../multicall.c:102:对‘per_cpu__perfcounters’未定义的引用
/home/binary/workspace/xen-4.3.0/xen/common/compat/../multicall.c:96:对‘per_cpu__perfcounters’未定义的引用
prelink.o:在函数‘apic_timer_interrupt’中:
/home/binary/workspace/xen-4.3.0/xen/arch/x86/apic.c:1303:对‘per_cpu__perfcounters’未定义的引用
prelink.o:在函数‘map_domain_page’中:
/home/binary/workspace/xen-4.3.0/xen/arch/x86/domain_page.c:82:对‘per_cpu__perfcounters’未定义的引用
prelink.o:在函数‘search_pre_exception_table’中:
/home/binary/workspace/xen-4.3.0/xen/arch/x86/extable.c:96:对‘per_cpu__perfcounters’未定义的引用
prelink.o:/home/binary/workspace/xen-4.3.0/xen/arch/x86/irq.c:813: more undefined references to `per_cpu__perfcounters' follow
prelink.o:(.data.rel+0x28):对‘perfc_printall’未定义的引用
prelink.o:(.data.rel+0x48):对‘perfc_reset’未定义的引用
ld: /home/binary/workspace/xen-4.3.0/xen/.xen-syms.0: hidden symbol `perfc_control' isn't defined
ld: 最终连接失败: 错误的值
make[3]: *** [/home/binary/workspace/xen-4.3.0/xen/xen-syms] 错误 1
make[3]:正在离开目录 `/home/binary/workspace/xen-4.3.0/xen/arch/x86'
make[2]: *** [/home/binary/workspace/xen-4.3.0/xen/xen] 错误 2
make[2]:正在离开目录 `/home/binary/workspace/xen-4.3.0/xen'
make[1]: *** [install] 错误 2
make[1]:正在离开目录 `/home/binary/workspace/xen-4.3.0/xen'
make: *** [install-xen] 错误 2


Anyone have a solution to fix it??
Responses (2)
  • Accepted Answer

    Friday, November 15 2013, 11:53 AM - #permalink
    0
    I have sent a copy of this question to the xen-users mailing list. If I receive a response, I will post it here.
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, November 19 2013, 05:25 PM - #permalink
    0
    A response from Ian Campbell on xen-users indicates you "should try 'make clean' before rebuilding. These command line options
    don't typically trigger as much rebuilding as they should."
    The reply is currently minimized Show
Your Reply