Re: [PATCH 1/1] arm/stacktrace: stop unwinding after an invalid address.
From: Maninder Singh
Date: Wed Nov 15 2017 - 06:23:25 EST
Hi Russell,
>On Tue, Oct 24, 2017 at 05:16:42PM +0530, Maninder Singh wrote:
>> This patch stops unwinding backtrace in case of below 2 cases.
>>
>> (Issue observed while porting stackdepot on ARM, duplicate
>> entries created in stackdepot
>> reference patch for workaround in stackdepot:-
>> https://lkml.org/lkml/2017/10/11/353
>> ).
>>
>> 1. If address belongs to irq/exception code, ignore it.
>> save_stack+0x40/0xec
>> __set_page_owner+0x2c/0x64
>> ....
>> ....
>> __handle_domain_irq+0x9c/0x130
>> gic_handle_irq+0x40/0x80
>> __irq_usr+0x4c/0x60
>> 0xb6507818
>> ^^^^^^^
>
>However, we _do_ want to trace through an IRQ taken in SVC mode, but you
>completely remove all that code. So, not taking this patch, sorry.
OK. Thanks.
But can we add some marker to distinguish before and after interrupt context frames.
so that we can remove interrupt that frames from stackdepot, because due to interrupt allocations,
we end up with so many stackdepot entries and which results in more memory consumption by stackdepot.
Something like below:
__set_page_owner+0x2c/0x64
...
...
__handle_domain_irq+0x9c/0x130
gic_handle_irq+0x40/0x80
__irq_usr+0x4c/0x60
0xFFFFFFFF (marker)
0xb6507818
....
Thus in stackdepot we can save before 0xFFFFFFF.
or can you provide any suggestion for the same if we can try for?