[PATCH v2 0/6] sched: dynamic: Simplify PREEMPT_DYNAMIC

Mark Rutland <[email protected]>
Newsgroups gmane.linux.kernel
Message-ID <[email protected]>
All architectures which currently suppoort PREEMPT_DYNAMIC select
ARCH_HAS_PREEMPT_LAZY.  On architectures which select
ARCH_HAS_PREEMPT_LAZY, it has not been possible to select the NONE and
VOLUNTARY preemption models since v7.0 due to commit:

  7dadeaa6e851 ("sched: Further restrict the preemption modes")

Hence in practice PREEMPT_DYNAMIC no longer supports the NONE or
VOLUNTARY preemption models.

This series makes the de-facto situation official by making
PREEMPT_DYNAMIC depend on ARCH_HAS_PREEMPT_LAZY, and removing redundant
code.

Since v1, I've had to rebase atop v7.2-rc4 to avoid a conflict with
commit:

  a2c02aa0c6ca ("powerpc: Remove dead non-preemption code")

Given this is now late in the cycle, and given the tip:sched/core branch
is based on v7.2-rc1, I suspect tip folk might not want to queue this
now. Please let me know what you'd prefer; I'm happy to rebase and
resend after v7.3-rc1.

Since v1:
* Rebase to v7.2-rc4
* Apply Revied-by tags.
* Fix typos in commit messages.
* Add patch to cleanup accessors (per Shrikanth's comment)

Mark.

Mark Rutland (6):
  sched: dynamic: Make PREEMPT_DYNAMIC depend on ARCH_HAS_PREEMPT_LAZY
  sched: dynamic: Simplify {cond,might}_resched()
  sched: dynamic: Simplify preempt_schedule{,_notrace}()
  sched: dynamic: Simplify irqentry_exit_cond_resched()
  sched: dynamic: Remove HAVE_PREEMPT_DYNAMIC_{CALL,KEY}
  sched: dynamic: Simplify preempt model accessors

 arch/Kconfig                     |  38 -------
 arch/arm64/Kconfig               |   1 -
 arch/arm64/include/asm/preempt.h |  10 --
 arch/loongarch/Kconfig           |   1 -
 arch/powerpc/Kconfig             |   1 -
 arch/riscv/Kconfig               |   1 -
 arch/s390/Kconfig                |   1 -
 arch/s390/include/asm/preempt.h  |  11 --
 arch/x86/Kconfig                 |   1 -
 arch/x86/include/asm/preempt.h   |  28 -----
 include/asm-generic/preempt.h    |  10 --
 include/linux/irq-entry-common.h |  17 +--
 include/linux/kernel.h           |  20 ----
 include/linux/preempt.h          |  20 ++--
 include/linux/sched.h            |  31 +-----
 kernel/Kconfig.preempt           |   9 +-
 kernel/entry/common.c            |  17 +--
 kernel/sched/core.c              | 180 +------------------------------
 18 files changed, 23 insertions(+), 374 deletions(-)

-- 
2.30.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.