Re: [patch] sched,rt: __always_inline preemptible_lazy()

From: Hillf Danton
Date: Mon Feb 22 2016 - 00:34:22 EST


>
> sched,rt: __always_inline preemptible_lazy()
>
> Functions called within a notrace function must either also be
> notrace or be inlined, lest recursion blow the stack.
>
> homer: # nm kernel/sched/core.o|grep preemptible_lazy
> 00000000000000b5 t preemptible_lazy
>
> echo wakeup_rt > current_tracer ==> Welcome to infinity.
>
> Signed-off-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx>
> ---

Thank you, Mike.

Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx>

> kernel/sched/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -3469,7 +3469,7 @@ static void __sched notrace preempt_sche
> * set by a RT task. Oterwise we try to avoid beeing scheduled out as long as
> * preempt_lazy_count counter >0.
> */
> -static int preemptible_lazy(void)
> +static __always_inline int preemptible_lazy(void)
> {
> if (test_thread_flag(TIF_NEED_RESCHED))
> return 1;