2017-11-15 13:04:02

by Maninder Singh

[permalink] [raw]
Subject: Re: [PATCH 1/1] arm/stacktrace: stop unwinding after an invalid address.

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?

From 1584131423140250234@xxx Wed Nov 15 11:30:52 +0000 2017
X-GM-THRID: 1582139495737348556
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread


2017-11-15 11:30:52

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: [PATCH 1/1] arm/stacktrace: stop unwinding after an invalid address.

On Wed, Nov 15, 2017 at 11:09:22AM +0000, Maninder Singh wrote:
> 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.

Notice that I said "taken in SVC mode" not "taken in user mode". Your
example below is for a user mode interrupt.

> 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?

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

From 1582139777917959687@xxx Tue Oct 24 11:54:31 +0000 2017
X-GM-THRID: 1582139495737348556
X-Gmail-Labels: Inbox,Category Forums