|
|
Log in / Subscribe / Register

arm64: Support dynamic preemption

From:  Frederic Weisbecker <frederic-AT-kernel.org>
To:  Peter Zijlstra <peterz-AT-infradead.org>, Catalin Marinas <catalin.marinas-AT-arm.com>, Will Deacon <will-AT-kernel.org>
Subject:  [PATCH 0/4] arm64: Support dynamic preemption
Date:  Tue, 21 Sep 2021 01:32:33 +0200
Message-ID:  <20210920233237.90463-1-frederic@kernel.org>
Cc:  LKML <linux-kernel-AT-vger.kernel.org>, Frederic Weisbecker <frederic-AT-kernel.org>, Ard Biesheuvel <ardb-AT-kernel.org>, James Morse <james.morse-AT-arm.com>, Quentin Perret <qperret-AT-google.com>, Mark Rutland <mark.rutland-AT-arm.com>
Archive-link:  Article

Traditionally the preemption flavour was defined on Kconfig then fixed
in stone. Now with CONFIG_PREEMPT_DYNAMIC the users can overwrite that
on boot with the "preempt=" boot option (and also through debugfs but
that's a secret).

Linux distros can be particularly fond of this because it allows them
to rely on a single kernel image for all preemption flavours.

x86 was the only supported architecture so far but interests are
broader.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	preempt/arm

HEAD: 351eaa68b5304b8b0e7c6e7b4470dd917475e65e

Thanks,
	Frederic
---

Frederic Weisbecker (3):
      sched/preempt: Prepare for supporting !CONFIG_GENERIC_ENTRY dynamic preemption
      arm64: Implement IRQ exit preemption static call for dynamic preemption
      arm64: Implement HAVE_PREEMPT_DYNAMIC

Ard Biesheuvel (1):
      arm64: implement support for static call trampolines


 arch/Kconfig                         |  1 -
 arch/arm64/Kconfig                   |  2 ++
 arch/arm64/include/asm/insn.h        |  2 ++
 arch/arm64/include/asm/preempt.h     | 23 ++++++++++++++++++++++-
 arch/arm64/include/asm/static_call.h | 28 ++++++++++++++++++++++++++++
 arch/arm64/kernel/Makefile           |  4 ++--
 arch/arm64/kernel/entry-common.c     | 15 ++++++++++++---
 arch/arm64/kernel/patching.c         | 14 +++++++++++---
 arch/arm64/kernel/vmlinux.lds.S      |  1 +
 include/linux/entry-common.h         |  3 ++-
 kernel/sched/core.c                  |  6 ++++--
 11 files changed, 86 insertions(+), 13 deletions(-)


Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds