On Tue, Nov 10, 2015 at 07:43:35PM +0800, yalin wang wrote:
On Nov 10, 2015, at 19:35, Catalin Marinas catalin.marinas@arm.com wrote: On Tue, Nov 10, 2015 at 07:09:00PM +0800, yalin wang wrote:
i have a question, why FRAME_POINTER config must be enabled ? and i see ARM arch can disable this config . if i don’t need stack trace dump and the software release is for final product , don’t need debug stack trace log . is it possible to disable it for performance reason ?
If you don't need any stack trace, perf etc., in theory you can disable the option. However, the aarch64 gcc compiler always generates it (I'm not sure whether the AAPCS mandates it). Anyway, the performance impact is very small since there are more general purpose registers available in AArch64 already.
i just make a test with -fomit-frame-pointer, seems gcc can generate code without frame pointer,
Building without frame-pointers *severely* limits our ability (as open-source developers) to debug problems that we are unable to reproduce locally. Given the lack of widely available hardware compared to the number of platforms in development, I'm strongly opposed to offering this as a supported option for mainline kernels without a compelling performance argument.
We have a significant number of general-purpose registers available on arm64, so I would expect the omission of a framepointer to have a somewhat limited impact on performance.
Will