Thread (5 messages) 5 messages, 3 authors, 2022-11-21

Re: [PATCH] asm-generic/io: Add _RET_IP_ to MMIO trace for more accurate debug info

From: Sai Prakash Ranjan <hidden>
Date: 2022-11-21 15:54:03
Also in: linux-arch, linux-arm-msm, lkml

Hi Arnd,

On 10/26/2022 7:17 PM, Sai Prakash Ranjan wrote:
Hi Steve,

On 10/24/2022 9:39 PM, Steven Rostedt wrote:
quoted
On Mon, 17 Oct 2022 20:04:50 +0530
Sai Prakash Ranjan [off-list ref] wrote:
quoted
Due to compiler optimizations like inlining, there are cases where
MMIO traces using _THIS_IP_ for caller information might not be
sufficient to provide accurate debug traces.

1) With optimizations (Seen with GCC):

In this case, _THIS_IP_ works fine and prints the caller information
since it will be inlined into the caller and we get the debug traces
on who made the MMIO access, for ex:

rwmmio_read: qcom_smmu_tlb_sync+0xe0/0x1b0 width=32 
addr=0xffff8000087447f4
rwmmio_post_read: qcom_smmu_tlb_sync+0xe0/0x1b0 width=32 val=0x0 
addr=0xffff8000087447f4

2) Without optimizations (Seen with Clang):

_THIS_IP_ will not be sufficient in this case as it will print only
the MMIO accessors itself which is of not much use since it is not
inlined as below for example:

rwmmio_read: readl+0x4/0x80 width=32 addr=0xffff8000087447f4
rwmmio_post_read: readl+0x48/0x80 width=32 val=0x4 
addr=0xffff8000087447f4

So in order to handle this second case as well irrespective of the 
compiler
optimizations, add _RET_IP_ to MMIO trace to make it provide more 
accurate
debug information in all these scenarios.

Before:

rwmmio_read: readl+0x4/0x80 width=32 addr=0xffff8000087447f4
rwmmio_post_read: readl+0x48/0x80 width=32 val=0x4 
addr=0xffff8000087447f4

After:

rwmmio_read: qcom_smmu_tlb_sync+0xe0/0x1b0 -> readl+0x4/0x80 width=32 
addr=0xffff8000087447f4
rwmmio_post_read: qcom_smmu_tlb_sync+0xe0/0x1b0 -> readl+0x4/0x80 
width=32 val=0x0 addr=0xffff8000087447f4

Fixes: 210031971cdd ("asm-generic/io: Add logging support for MMIO 
accessors")
Signed-off-by: Sai Prakash Ranjan <redacted>

Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>

What tree should this go through?

-- Steve

Thanks for the ack, with this I believe Arnd can take it through his 
tree like last time.

Can we take this patch atleast for 6.2-rc1?

Thanks,
Sai

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help