After doing some digging I believe the sequence of events leading to this is following: secondary_start_kernel() calls preempt_disable(), then cpu_startup_entry(CPUHP_ONLINE), which results in a call to cpufreq_interactive_idle_notifier() which in turn tries to use mod_timer(). mod_timer() internally tries to acquire a spinlock, but with RT patches applied it unfolds into a rt_mutex, the attempt of acquisition of which results in the call to schedule() and that's when we see that backtrace.