Re: [PATCH V3 8/9] tracing: Add osnoise tracer

From: Steven Rostedt
Date: Wed Jun 09 2021 - 09:03:37 EST


On Wed, 9 Jun 2021 14:14:17 +0200
Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> wrote:

> On 6/4/21 11:28 PM, Steven Rostedt wrote:
> >> +#ifdef CONFIG_X86_LOCAL_APIC
> > I wonder if we should move this into a separate file, making the
> > __trace_irq_entry() a more name space safe name and have it call that.
> > I have a bit of a distaste for arch specific code in a generic file.
> >
>
> I am placing the intel specific file in:
>
> arch/x86/kernel/trace_osnoise.c

I would make it just arch/x86/kernel/trace.c

so that it can hold all arch specific tracing information, and not need
to create a file for anything else we might need later.

>
> and the kernel/trace/trace_osnoise.h looks like this:
>
> #ifdef CONFIG_X86_LOCAL_APIC
> int osnoise_arch_register(void);
> int osnoise_arch_unregister(void);
> #else /* CONFIG_X86_LOCAL_APIC */
> #define osnoise_arch_register() do {} while (0)
> #define osnoise_arch_unregister() do {} while (0)
> #endif /* CONFIG_X86_LOCAL_APIC */
>
> This can be used by other archs as well...
>
> sound reasonable?
>

The proper way to d that is to use weak functions in the C code in the
generic file.

int __weak osnoise_arch_register(void)
{
return 0;
}

int __weak osnoise_arch_unregister(void)
{
return 0;
}

Hmm, does the unregister really need a return value?

-- Steve