[PATCH v4 6/6] arm64: ftrace: add arch-specific stack tracer

AKASHI Takahiro takahiro.akashi at linaro.org
Wed Nov 4 00:01:58 PST 2015


On 11/01/2015 05:30 PM, Jungseok Lee wrote:
> On Oct 30, 2015, at 2:25 PM, AKASHI Takahiro wrote:
> Hi Akashi,
>> Stack tracer on arm64, check_stack(), is uniqeue in the following
>> points:
>> * analyze a function prologue of a traced function to estimate a more
>>   accurate stack pointer value, replacing naive '<child's fp> + 0x10.'
>> * use walk_stackframe(), instead of slurping stack contents as orignal
>>   check_stack() does, to identify a stack frame and a stack index (height)
>>   for every callsite.
>> Regarding a function prologue analyzer, there is no guarantee that we can
>> handle all the possible patterns of function prologue as gcc does not use
>> any fixed templates to generate them. 'Instruction scheduling' is another
>> issue here.
>> Nevertheless, the current version will surely cover almost all the cases
>> in the kernel image and give us useful information on stack pointers.
> Can I get an idea on how to test the function prologue analyzer? It pretty
> tough to compare stack trace data with objdump one. Is there an easier way
> to observe this enhancement without objdump?

It is quite difficult to give an evidence of the correctness of my function
prologue analyzer. I only checked the outputs from stack tracer, one by one
(every function), by comparing it against its disassembled code.

-Takahiro AKASHI

> Best Regards
> Jungseok Lee

More information about the linux-arm-kernel mailing list