The invocation of do_softirq() in flush_smp_call_function_from_idle()
breaks on RT because RT does not provide do_softirq().
Aside of that flush_smp_call_function_from_idle() is a misnomer since the
function is invoked not only from idle, but also from the scheduler
migration thread.
The following series addresses this. Changes vs. V4, which can be found
here: https://lore.kernel.org/lkml/[email protected]
- Fix a boatload of missing prototypes warning related to the
scheduler and its header files.
Thanks,
tglx
---
include/linux/interrupt.h | 9 +++++++++
include/linux/sched.h | 2 ++
kernel/sched/build_policy.c | 2 ++
kernel/sched/build_utility.c | 1 +
kernel/sched/core.c | 5 ++++-
kernel/sched/deadline.c | 2 --
kernel/sched/fair.c | 1 +
kernel/sched/idle.c | 2 +-
kernel/sched/sched.h | 8 ++------
kernel/sched/smp.h | 6 ++++++
kernel/smp.c | 32 ++++++++++++++++++++++++--------
kernel/softirq.c | 13 +++++++++++++
kernel/stop_machine.c | 2 --
13 files changed, 65 insertions(+), 20 deletions(-)
On Wed, Apr 13, 2022 at 03:31:00PM +0200, Thomas Gleixner wrote:
> include/linux/interrupt.h | 9 +++++++++
> include/linux/sched.h | 2 ++
> kernel/sched/build_policy.c | 2 ++
> kernel/sched/build_utility.c | 1 +
> kernel/sched/core.c | 5 ++++-
> kernel/sched/deadline.c | 2 --
> kernel/sched/fair.c | 1 +
> kernel/sched/idle.c | 2 +-
> kernel/sched/sched.h | 8 ++------
> kernel/sched/smp.h | 6 ++++++
> kernel/smp.c | 32 ++++++++++++++++++++++++--------
> kernel/softirq.c | 13 +++++++++++++
> kernel/stop_machine.c | 2 --
> 13 files changed, 65 insertions(+), 20 deletions(-)
Acked-by: Peter Zijlstra (Intel) <[email protected]>