lkml.org 
[lkml]   [2021]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCHv5 3/4] tracing: Add register read/write tracing support
From
On 12/6/2021 2:29 PM, Arnd Bergmann wrote:
> On Mon, Dec 6, 2021 at 9:28 AM Sai Prakash Ranjan
> <quic_saipraka@quicinc.com> wrote:
>> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
>> index 420ff4bc67fd..9f55bcc51de1 100644
>> --- a/kernel/trace/Kconfig
>> +++ b/kernel/trace/Kconfig
>> @@ -95,6 +95,13 @@ config RING_BUFFER_ALLOW_SWAP
>> Allow the use of ring_buffer_swap_cpu.
>> Adds a very slight overhead to tracing when enabled.
>>
>> +config TRACE_MMIO_ACCESS
>> + bool "Register read/write tracing"
>> + depends on TRACING
>> + help
>> + Create tracepoints for MMIO read/write operations. These trace events
>> + can be used for logging all MMIO read/write operations.
> I think this needs a 'depends on ARCH_HAVE_TRACE_MMIO_ACCESS'
> or similar.

Sure, will add it.

>> +void log_read_mmio(u8 width, const volatile void __iomem *addr)
>> +{
>> + trace_rwmmio_read(CALLER_ADDR0, CALLER_ADDR1, width, addr);
>> +}
> Here, it may be better to pass the caller address as an argument, I think
> CALLER_ADDR1 is not always reliable, though it's possible that it is
> in the configurations when this file gets enabled.
>
>

Do you mean that we use __builtin_return_address(0,1) directly here or
that I pass
__func__ as the argument to log_read/write_mmio or is there some other
way to
pass the caller address?

Thanks,
Sai

\
 
 \ /
  Last update: 2021-12-06 11:18    [W:0.366 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site