From: Jan Beulich Date: Mon, 31 Mar 2025 07:20:25 +0000 (+0200) Subject: trace: convert init_trace_bufs() to constructor X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4d8cd1a5b7228816ca07eb02033f1a3d1b2d69ad;p=xen.git trace: convert init_trace_bufs() to constructor There's no need for each arch to invoke it directly, and there's no need for having a stub either. With the present placement of the calls to init_constructors() it can easily be a constructor itself. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper Acked-by: Julien Grall --- diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index ffcae900d7..bf39d41e9b 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -491,8 +491,6 @@ void asmlinkage __init start_xen(unsigned long fdt_paddr) heap_init_late(); - init_trace_bufs(); - init_constructors(); console_endboot(); diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 7d6e52a55f..d70abb7e0c 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -2145,8 +2145,6 @@ void asmlinkage __init noreturn __start_xen(void) heap_init_late(); - init_trace_bufs(); - init_constructors(); console_endboot(); diff --git a/xen/common/trace.c b/xen/common/trace.c index 704edef39f..cfee6d7977 100644 --- a/xen/common/trace.c +++ b/xen/common/trace.c @@ -335,8 +335,10 @@ int trace_will_trace_event(u32 event) * This function is called at start of day in order to initialize the per-cpu * trace buffers. The trace buffers are then available for debugging use, via * the %TRACE_xD macros exported in . + * + * TODO: Try and make this a presmp_initcall() to improve alloc_trace_bufs(). */ -void __init init_trace_bufs(void) +static void __init __constructor init_trace_bufs(void) { cpumask_setall(&tb_cpu_mask); register_cpu_notifier(&cpu_nfb); diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h index 914cecbc18..30ebdcc47f 100644 --- a/xen/include/xen/trace.h +++ b/xen/include/xen/trace.h @@ -29,9 +29,6 @@ extern bool tb_init_done; -/* Used to initialise trace buffer functionality */ -void init_trace_bufs(void); - /* used to retrieve the physical address of the trace buffers */ int tb_control(struct xen_sysctl_tbuf_op *tbc); @@ -49,7 +46,6 @@ void __trace_hypercall(uint32_t event, unsigned long op, #define tb_init_done false -static inline void init_trace_bufs(void) {} static inline int tb_control(struct xen_sysctl_tbuf_op *tbc) { return -ENOSYS;