* [GIT PULL] misc core kernel changes
@ 2018-04-02 6:14 Ingo Molnar
2018-04-02 16:11 ` Linus Torvalds
0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2018-04-02 6:14 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Thomas Gleixner, Peter Zijlstra, Andrew Morton
Linus,
Please pull the latest core-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-core-for-linus
# HEAD: 5ad751053704df3f00d2bb2dc9345c697c212150 panic: Add closing panic marker parenthesis
Two changes:
- add membarriers to Documentation/features/
- fix a minor nit in panic printk formatting
Thanks,
Ingo
------------------>
Borislav Petkov (1):
panic: Add closing panic marker parenthesis
Mathieu Desnoyers (2):
Documentation/features: Allow comments in arch features files
Documentation/features, membarriers: Document membarrier-sync-core architecture support
Documentation/features/list-arch.sh | 2 +-
.../sched/membarrier-sync-core/arch-support.txt | 62 ++++++++++++++++++++++
kernel/panic.c | 2 +-
3 files changed, 64 insertions(+), 2 deletions(-)
create mode 100644 Documentation/features/sched/membarrier-sync-core/arch-support.txt
diff --git a/Documentation/features/list-arch.sh b/Documentation/features/list-arch.sh
index c16b5b595688..1ec47c3bb5fa 100755
--- a/Documentation/features/list-arch.sh
+++ b/Documentation/features/list-arch.sh
@@ -17,7 +17,7 @@ for F in */*/arch-support.txt; do
N=$(grep -h "^# Feature name:" $F | cut -c25-)
C=$(grep -h "^# Kconfig:" $F | cut -c25-)
D=$(grep -h "^# description:" $F | cut -c25-)
- S=$(grep -hw $ARCH $F | cut -d\| -f3)
+ S=$(grep -hv "^#" $F | grep -w $ARCH | cut -d\| -f3)
printf "%10s/%-22s:%s| %35s # %s\n" "$SUBSYS" "$N" "$S" "$C" "$D"
done
diff --git a/Documentation/features/sched/membarrier-sync-core/arch-support.txt b/Documentation/features/sched/membarrier-sync-core/arch-support.txt
new file mode 100644
index 000000000000..2c815a7f1ba7
--- /dev/null
+++ b/Documentation/features/sched/membarrier-sync-core/arch-support.txt
@@ -0,0 +1,62 @@
+#
+# Feature name: membarrier-sync-core
+# Kconfig: ARCH_HAS_MEMBARRIER_SYNC_CORE
+# description: arch supports core serializing membarrier
+#
+# Architecture requirements
+#
+# * arm64
+#
+# Rely on eret context synchronization when returning from IPI handler, and
+# when returning to user-space.
+#
+# * x86
+#
+# x86-32 uses IRET as return from interrupt, which takes care of the IPI.
+# However, it uses both IRET and SYSEXIT to go back to user-space. The IRET
+# instruction is core serializing, but not SYSEXIT.
+#
+# x86-64 uses IRET as return from interrupt, which takes care of the IPI.
+# However, it can return to user-space through either SYSRETL (compat code),
+# SYSRETQ, or IRET.
+#
+# Given that neither SYSRET{L,Q}, nor SYSEXIT, are core serializing, we rely
+# instead on write_cr3() performed by switch_mm() to provide core serialization
+# after changing the current mm, and deal with the special case of kthread ->
+# uthread (temporarily keeping current mm into active_mm) by issuing a
+# sync_core_before_usermode() in that specific case.
+#
+ -----------------------
+ | arch |status|
+ -----------------------
+ | alpha: | TODO |
+ | arc: | TODO |
+ | arm: | TODO |
+ | arm64: | ok |
+ | blackfin: | TODO |
+ | c6x: | TODO |
+ | cris: | TODO |
+ | frv: | TODO |
+ | h8300: | TODO |
+ | hexagon: | TODO |
+ | ia64: | TODO |
+ | m32r: | TODO |
+ | m68k: | TODO |
+ | metag: | TODO |
+ | microblaze: | TODO |
+ | mips: | TODO |
+ | mn10300: | TODO |
+ | nios2: | TODO |
+ | openrisc: | TODO |
+ | parisc: | TODO |
+ | powerpc: | TODO |
+ | s390: | TODO |
+ | score: | TODO |
+ | sh: | TODO |
+ | sparc: | TODO |
+ | tile: | TODO |
+ | um: | TODO |
+ | unicore32: | TODO |
+ | x86: | ok |
+ | xtensa: | TODO |
+ -----------------------
diff --git a/kernel/panic.c b/kernel/panic.c
index 2cfef408fec9..9fb023d0cae1 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -289,7 +289,7 @@ void panic(const char *fmt, ...)
disabled_wait(caller);
}
#endif
- pr_emerg("---[ end Kernel panic - not syncing: %s\n", buf);
+ pr_emerg("---[ end Kernel panic - not syncing: %s ]---\n", buf);
local_irq_enable();
for (i = 0; ; i += PANIC_TIMER_STEP) {
touch_softlockup_watchdog();
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [GIT PULL] misc core kernel changes
2018-04-02 6:14 [GIT PULL] misc core kernel changes Ingo Molnar
@ 2018-04-02 16:11 ` Linus Torvalds
2018-04-03 8:05 ` Ingo Molnar
0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2018-04-02 16:11 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linux Kernel Mailing List, Thomas Gleixner, Peter Zijlstra,
Andrew Morton
On Sun, Apr 1, 2018 at 11:14 PM, Ingo Molnar <mingo@kernel.org> wrote:
>
> - add membarriers to Documentation/features/
You had actually done this earlier already, so now there are two
commits adding it.
Oh well.
Linus
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [GIT PULL] misc core kernel changes
2018-04-02 16:11 ` Linus Torvalds
@ 2018-04-03 8:05 ` Ingo Molnar
0 siblings, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2018-04-03 8:05 UTC (permalink / raw)
To: Linus Torvalds
Cc: Linux Kernel Mailing List, Thomas Gleixner, Peter Zijlstra,
Andrew Morton
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Sun, Apr 1, 2018 at 11:14 PM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > - add membarriers to Documentation/features/
>
> You had actually done this earlier already, so now there are two
> commits adding it.
>
> Oh well.
Indeed, I messed up the handling of that patch, sorry about that!
Thanks,
Ingo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-04-03 8:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-02 6:14 [GIT PULL] misc core kernel changes Ingo Molnar
2018-04-02 16:11 ` Linus Torvalds
2018-04-03 8:05 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox