Re: [PATCH] sched/clock: disable irq for generic_sched_clock_init

From: Guenter Roeck
Date: Tue Jul 31 2018 - 09:19:33 EST


On Mon, Jul 30, 2018 at 09:52:52AM -0400, Pavel Tatashin wrote:
> sched_clock_init() used be called early in boot when IRQs are still
> disabled. Now, it is called when IRQs are already enabled, and this
> triggers some warning:
>
> WARNING: CPU: 0 PID: 0 at kernel/time/sched_clock.c:180
> sched_clock_register+0x44/0x278
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper Not tainted 4.18.0-rc6-next-20180724 #1
> Hardware name: ARM Integrator/CP (Device Tree)
> [<c0010cb4>] (unwind_backtrace) from [<c000dc24>] (show_stack+0x10/0x18)
> [<c000dc24>] (show_stack) from [<c03ffb94>] (dump_stack+0x18/0x24)
> [<c03ffb94>] (dump_stack) from [<c001a000>] (__warn+0xc8/0xf0)
> [<c001a000>] (__warn) from [<c001a13c>] (warn_slowpath_null+0x3c/0x4c)
> [<c001a13c>] (warn_slowpath_null) from [<c052367c>] (sched_clock_register+0x44/0x278)
> [<c052367c>] (sched_clock_register) from [<c05238d8>] (generic_sched_clock_init+0x28/0x88)
> [<c05238d8>] (generic_sched_clock_init) from [<c0521a00>] (sched_clock_init+0x54/0x74)
> [<c0521a00>] (sched_clock_init) from [<c0519c18>] (start_kernel+0x310/0x3e4)
> [<c0519c18>] (start_kernel) from [<00000000>] ( (null))
> ---[ end trace 08080eb81afa002c ]---
>
> Disable IRQs for the duration of generic_sched_clock_init().
>
> Fixes: 857baa87b642 ("sched/clock: Enable sched clock early")
>
> Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Guenter