diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2018-02-09 15:30:56 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-02-11 06:19:03 -0500 |
commit | ac65ddad4a23d46529f921fdf8f7b7b6d14a15d8 (patch) | |
tree | 2a8a42592c0a1302c779d693a39a942bc3b67551 | |
parent | 26be459c9c4431984ad4b576f975ce6d3184d71d (diff) |
Documentation/features, membarriers: Document membarrier-sync-core architecture support
Ensure we gather architecture requirements about each architecture
supporting the "sync_core" membarrier command in a single file under
Documentation/features.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrea Parri <parri.andrea@gmail.com>
Cc: Andrew Hunter <ahh@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Avi Kivity <avi@scylladb.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Dave Watson <davejwatson@fb.com>
Cc: David Sehr <sehr@google.com>
Cc: Greg Hackmann <ghackmann@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Maged Michael <maged.michael@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-api@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-doc@vger.kernel.org
Link: http://lkml.kernel.org/r/1518208256-22034-1-git-send-email-mathieu.desnoyers@efficios.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | Documentation/features/sched/membarrier-sync-core/arch-support.txt | 62 |
1 files changed, 62 insertions, 0 deletions
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 @@ | |||
1 | # | ||
2 | # Feature name: membarrier-sync-core | ||
3 | # Kconfig: ARCH_HAS_MEMBARRIER_SYNC_CORE | ||
4 | # description: arch supports core serializing membarrier | ||
5 | # | ||
6 | # Architecture requirements | ||
7 | # | ||
8 | # * arm64 | ||
9 | # | ||
10 | # Rely on eret context synchronization when returning from IPI handler, and | ||
11 | # when returning to user-space. | ||
12 | # | ||
13 | # * x86 | ||
14 | # | ||
15 | # x86-32 uses IRET as return from interrupt, which takes care of the IPI. | ||
16 | # However, it uses both IRET and SYSEXIT to go back to user-space. The IRET | ||
17 | # instruction is core serializing, but not SYSEXIT. | ||
18 | # | ||
19 | # x86-64 uses IRET as return from interrupt, which takes care of the IPI. | ||
20 | # However, it can return to user-space through either SYSRETL (compat code), | ||
21 | # SYSRETQ, or IRET. | ||
22 | # | ||
23 | # Given that neither SYSRET{L,Q}, nor SYSEXIT, are core serializing, we rely | ||
24 | # instead on write_cr3() performed by switch_mm() to provide core serialization | ||
25 | # after changing the current mm, and deal with the special case of kthread -> | ||
26 | # uthread (temporarily keeping current mm into active_mm) by issuing a | ||
27 | # sync_core_before_usermode() in that specific case. | ||
28 | # | ||
29 | ----------------------- | ||
30 | | arch |status| | ||
31 | ----------------------- | ||
32 | | alpha: | TODO | | ||
33 | | arc: | TODO | | ||
34 | | arm: | TODO | | ||
35 | | arm64: | ok | | ||
36 | | blackfin: | TODO | | ||
37 | | c6x: | TODO | | ||
38 | | cris: | TODO | | ||
39 | | frv: | TODO | | ||
40 | | h8300: | TODO | | ||
41 | | hexagon: | TODO | | ||
42 | | ia64: | TODO | | ||
43 | | m32r: | TODO | | ||
44 | | m68k: | TODO | | ||
45 | | metag: | TODO | | ||
46 | | microblaze: | TODO | | ||
47 | | mips: | TODO | | ||
48 | | mn10300: | TODO | | ||
49 | | nios2: | TODO | | ||
50 | | openrisc: | TODO | | ||
51 | | parisc: | TODO | | ||
52 | | powerpc: | TODO | | ||
53 | | s390: | TODO | | ||
54 | | score: | TODO | | ||
55 | | sh: | TODO | | ||
56 | | sparc: | TODO | | ||
57 | | tile: | TODO | | ||
58 | | um: | TODO | | ||
59 | | unicore32: | TODO | | ||
60 | | x86: | ok | | ||
61 | | xtensa: | TODO | | ||
62 | ----------------------- | ||