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

Re: [Xen-devel] [RFC PATCH 4/7] build: convert frame_pointer to Kconfig



On Sun, May 01, 2016 at 11:10:43PM -0500, Doug Goldstein wrote:
> Converts the frame_pointer option to a Kconfig option.
> 
> Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>
> ---
> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> CC: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
> CC: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> CC: Jan Beulich <jbeulich@xxxxxxxx>
> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> CC: Tim Deegan <tim@xxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
>  INSTALL           | 1 -
>  xen/Kconfig.debug | 8 ++++++++
>  xen/Rules.mk      | 6 +-----
>  3 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/INSTALL b/INSTALL
> index 35668bd..f55d42c 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -230,7 +230,6 @@ hypervisor build.
>  perfc=y
>  perfc_arrays=y
>  lock_profile=y
> -frame_pointer=y
>  lto=y
>  
>  During tools build external repos will be cloned into the source tree.
> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> index 94a6381..0b2ec50 100644
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -15,6 +15,14 @@ config CRASH_DEBUG
>         If you want to be able to attach gdb to Xen to be able to debug
>         Xen if it crashes then say Y.
>  
> +config FRAME_POINTER
> +     bool "Compile Xen with frame pointers"
> +     default y
> +     ---help---
> +       If you say Y here the resulting Xen will be slightly larger and
> +       maybe slower, but it gives very useful debugging information

The extra cost is:

 leaq  offs(%rsp),%rbp;
 notq  %rbp   

On entry in hypervisor.

Perhaps just say two extra operations are added on every vmexit ?

Is there an use-case for _not_ having frame pointers?


> +       in case of any Xen bugs.
> +
>  config VERBOSE_DEBUG
>       bool "Verbose debug messages"
>       default y
> diff --git a/xen/Rules.mk b/xen/Rules.mk
> index b159451..84b9d81 100644
> --- a/xen/Rules.mk
> +++ b/xen/Rules.mk
> @@ -6,7 +6,6 @@
>  perfc         ?= n
>  perfc_arrays  ?= n
>  lock_profile  ?= n
> -frame_pointer ?= n
>  lto           ?= n
>  
>  -include $(BASEDIR)/include/config/auto.conf
> @@ -15,9 +14,6 @@ include $(XEN_ROOT)/Config.mk
>  
>  # Hardcoded configuration implications and dependencies.
>  # Do this is a neater way if it becomes unwieldy.
> -ifeq ($(debug),y)
> -frame_pointer := y
> -endif
>  ifeq ($(perfc_arrays),y)
>  perfc := y
>  endif
> @@ -58,7 +54,7 @@ endif
>  CFLAGS-$(perfc)         += -DPERF_COUNTERS
>  CFLAGS-$(perfc_arrays)  += -DPERF_ARRAYS
>  CFLAGS-$(lock_profile)  += -DLOCK_PROFILE
> -CFLAGS-$(frame_pointer) += -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER
> +CFLAGS-$(CONFIG_FRAME_POINTER) += -fno-omit-frame-pointer
>  
>  ifneq ($(max_phys_irqs),)
>  CFLAGS-y                += -DMAX_PHYS_IRQS=$(max_phys_irqs)
> -- 
> 2.7.3
> 

_______________________________________________
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®.