Re: [PATCH] sched: Fix tracepoint called from set_tsk_need_resched() more
From: gmonaco
Date: Thu Jan 29 2026 - 11:15:30 EST
On Thu, 2026-01-29 at 11:05 -0500, Phil Auld wrote:
> This raw tracepoint is added to set_tsk_need_resched() which
> introduces
> two symbols which were then exported GPL-only. While generally better
> to add new symbols GPL-only, set_tsk_need_resched() is called from
> places
> that are exported without that restriction. This includes things like
> wake_up_process(). Export these new symbols without the added
> restriction.
>
> Fixes: 8d737320166b ("sched: Fix build for modules using
> set_tsk_need_resched()")
> Fixes: 6c125b85f3c8 ("sched: Export hidden tracepoints to modules")
> Fixes: adcc3bfa8806 ("sched: Adapt sched tracepoints for RV task
> model")
Looks good to me, thanks!
Reviewed-by: Gabriele Monaco <gmonaco@xxxxxxxxxx>
>
> Signed-off-by: Phil Auld <pauld@xxxxxxxxxx>
> ---
>
> This is against tip:sched/core (377521af0341).
>
>
>
> kernel/sched/core.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index c5431afe23b0..2871369c05fa 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -121,7 +121,8 @@
> EXPORT_TRACEPOINT_SYMBOL_GPL(sched_update_nr_running_tp);
> EXPORT_TRACEPOINT_SYMBOL_GPL(sched_compute_energy_tp);
> EXPORT_TRACEPOINT_SYMBOL_GPL(sched_entry_tp);
> EXPORT_TRACEPOINT_SYMBOL_GPL(sched_exit_tp);
> -EXPORT_TRACEPOINT_SYMBOL_GPL(sched_set_need_resched_tp);
> +/* This needs non-GPL-only. It's called from other non-GPL-only
> exports (e.g. wake_up_process()) */
> +EXPORT_TRACEPOINT_SYMBOL(sched_set_need_resched_tp);
>
> DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
> DEFINE_PER_CPU(struct rnd_state, sched_rnd_state);
> @@ -1139,7 +1140,8 @@ void __trace_set_need_resched(struct
> task_struct *curr, int tif)
> {
> trace_sched_set_need_resched_tp(curr, smp_processor_id(),
> tif);
> }
> -EXPORT_SYMBOL_GPL(__trace_set_need_resched);
> +/* This needs non-GPL-only. It's called from other non-GPL-only
> exports (e.g. wake_up_process()) */
> +EXPORT_SYMBOL(__trace_set_need_resched);
>
> void resched_curr(struct rq *rq)
> {