Skip to content

Commit 2e2bc42

Browse files
author
Ingo Molnar
committed
Merge branch 'linus' into x86/boot, to resolve conflict
There's a new conflict with Linus's upstream tree, because in the following merge conflict resolution in <asm/coco.h>: 38b334f Merge tag 'x86_sev_for_v6.9_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Linus has resolved the conflicting placement of 'cc_mask' better than the original commit: 1c811d4 x86/sev: Fix position dependent variable references in startup code ... which was also done by an internal merge resolution: 2e5fc47 Merge branch 'x86/sev' into x86/boot, to resolve conflicts and to pick up dependent tree But Linus is right in 38b334f, the 'cc_mask' declaration is sufficient within the #ifdef CONFIG_ARCH_HAS_CC_PLATFORM block. So instead of forcing Linus to do the same resolution again, merge in Linus's tree and follow his conflict resolution. Conflicts: arch/x86/include/asm/coco.h Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 parents 428080c + 855684c commit 2e2bc42

File tree

1,389 files changed

+33597
-44946
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,389 files changed

+33597
-44946
lines changed

.mailmap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ Kenneth W Chen <kenneth.w.chen@intel.com>
325325
Kenneth Westfield <quic_kwestfie@quicinc.com> <kwestfie@codeaurora.org>
326326
Kiran Gunda <quic_kgunda@quicinc.com> <kgunda@codeaurora.org>
327327
Kirill Tkhai <tkhai@ya.ru> <ktkhai@virtuozzo.com>
328+
Kishon Vijay Abraham I <kishon@kernel.org> <kishon@ti.com>
328329
Konstantin Khlebnikov <koct9i@gmail.com> <khlebnikov@yandex-team.ru>
329330
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
330331
Koushik <raghavendra.koushik@neterion.com>
@@ -609,6 +610,11 @@ TripleX Chung <xxx.phy@gmail.com> <triplex@zh-kernel.org>
609610
TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
610611
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
611612
Tudor Ambarus <tudor.ambarus@linaro.org> <tudor.ambarus@microchip.com>
613+
Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko.ursulin@intel.com>
614+
Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko.ursulin@linux.intel.com>
615+
Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko.ursulin@sophos.com>
616+
Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko.ursulin@onelan.co.uk>
617+
Tvrtko Ursulin <tursulin@ursulin.net> <tvrtko@ursulin.net>
612618
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
613619
Tzung-Bi Shih <tzungbi@kernel.org> <tzungbi@google.com>
614620
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>

CREDITS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ D: dosfs, LILO, some fd features, ATM, various other hacks here and there
6363
S: Buenos Aires
6464
S: Argentina
6565

66+
NTFS FILESYSTEM
67+
N: Anton Altaparmakov
68+
E: anton@tuxera.com
69+
D: NTFS filesystem
70+
6671
N: Tim Alpaerts
6772
E: tim_alpaerts@toyota-motor-europe.com
6873
D: 802.2 class II logical link control layer,

Documentation/RCU/checklist.rst

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ over a rather long period of time, but improvements are always welcome!
6868
rcu_read_lock_sched(), or by the appropriate update-side lock.
6969
Explicit disabling of preemption (preempt_disable(), for example)
7070
can serve as rcu_read_lock_sched(), but is less readable and
71-
prevents lockdep from detecting locking issues.
71+
prevents lockdep from detecting locking issues. Acquiring a
72+
spinlock also enters an RCU read-side critical section.
7273

7374
Please note that you *cannot* rely on code known to be built
7475
only in non-preemptible kernels. Such code can and will break,
@@ -382,16 +383,17 @@ over a rather long period of time, but improvements are always welcome!
382383
must use whatever locking or other synchronization is required
383384
to safely access and/or modify that data structure.
384385

385-
Do not assume that RCU callbacks will be executed on the same
386-
CPU that executed the corresponding call_rcu() or call_srcu().
387-
For example, if a given CPU goes offline while having an RCU
388-
callback pending, then that RCU callback will execute on some
389-
surviving CPU. (If this was not the case, a self-spawning RCU
390-
callback would prevent the victim CPU from ever going offline.)
391-
Furthermore, CPUs designated by rcu_nocbs= might well *always*
392-
have their RCU callbacks executed on some other CPUs, in fact,
393-
for some real-time workloads, this is the whole point of using
394-
the rcu_nocbs= kernel boot parameter.
386+
Do not assume that RCU callbacks will be executed on
387+
the same CPU that executed the corresponding call_rcu(),
388+
call_srcu(), call_rcu_tasks(), call_rcu_tasks_rude(), or
389+
call_rcu_tasks_trace(). For example, if a given CPU goes offline
390+
while having an RCU callback pending, then that RCU callback
391+
will execute on some surviving CPU. (If this was not the case,
392+
a self-spawning RCU callback would prevent the victim CPU from
393+
ever going offline.) Furthermore, CPUs designated by rcu_nocbs=
394+
might well *always* have their RCU callbacks executed on some
395+
other CPUs, in fact, for some real-time workloads, this is the
396+
whole point of using the rcu_nocbs= kernel boot parameter.
395397

396398
In addition, do not assume that callbacks queued in a given order
397399
will be invoked in that order, even if they all are queued on the
@@ -444,7 +446,7 @@ over a rather long period of time, but improvements are always welcome!
444446
real-time workloads than is synchronize_rcu_expedited().
445447

446448
It is also permissible to sleep in RCU Tasks Trace read-side
447-
critical, which are delimited by rcu_read_lock_trace() and
449+
critical section, which are delimited by rcu_read_lock_trace() and
448450
rcu_read_unlock_trace(). However, this is a specialized flavor
449451
of RCU, and you should not use it without first checking with
450452
its current users. In most cases, you should instead use SRCU.
@@ -490,6 +492,12 @@ over a rather long period of time, but improvements are always welcome!
490492
since the last time that you passed that same object to
491493
call_rcu() (or friends).
492494

495+
CONFIG_RCU_STRICT_GRACE_PERIOD:
496+
combine with KASAN to check for pointers leaked out
497+
of RCU read-side critical sections. This Kconfig
498+
option is tough on both performance and scalability,
499+
and so is limited to four-CPU systems.
500+
493501
__rcu sparse checks:
494502
tag the pointer to the RCU-protected data structure
495503
with __rcu, and sparse will warn you if you access that

Documentation/RCU/rcu_dereference.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,10 @@ member of the rcu_dereference() to use in various situations:
408408
RCU flavors, an RCU read-side critical section is entered
409409
using rcu_read_lock(), anything that disables bottom halves,
410410
anything that disables interrupts, or anything that disables
411-
preemption.
411+
preemption. Please note that spinlock critical sections
412+
are also implied RCU read-side critical sections, even when
413+
they are preemptible, as they are in kernels built with
414+
CONFIG_PREEMPT_RT=y.
412415

413416
2. If the access might be within an RCU read-side critical section
414417
on the one hand, or protected by (say) my_lock on the other,

Documentation/RCU/whatisRCU.rst

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,25 @@ rcu_read_lock()
172172
critical section. Reference counts may be used in conjunction
173173
with RCU to maintain longer-term references to data structures.
174174

175+
Note that anything that disables bottom halves, preemption,
176+
or interrupts also enters an RCU read-side critical section.
177+
Acquiring a spinlock also enters an RCU read-side critical
178+
sections, even for spinlocks that do not disable preemption,
179+
as is the case in kernels built with CONFIG_PREEMPT_RT=y.
180+
Sleeplocks do *not* enter RCU read-side critical sections.
181+
175182
rcu_read_unlock()
176183
^^^^^^^^^^^^^^^^^
177184
void rcu_read_unlock(void);
178185

179186
This temporal primitives is used by a reader to inform the
180187
reclaimer that the reader is exiting an RCU read-side critical
181-
section. Note that RCU read-side critical sections may be nested
182-
and/or overlapping.
188+
section. Anything that enables bottom halves, preemption,
189+
or interrupts also exits an RCU read-side critical section.
190+
Releasing a spinlock also exits an RCU read-side critical section.
191+
192+
Note that RCU read-side critical sections may be nested and/or
193+
overlapping.
183194

184195
synchronize_rcu()
185196
^^^^^^^^^^^^^^^^^
@@ -952,8 +963,8 @@ unfortunately any spinlock in a ``SLAB_TYPESAFE_BY_RCU`` object must be
952963
initialized after each and every call to kmem_cache_alloc(), which renders
953964
reference-free spinlock acquisition completely unsafe. Therefore, when
954965
using ``SLAB_TYPESAFE_BY_RCU``, make proper use of a reference counter.
955-
(Those willing to use a kmem_cache constructor may also use locking,
956-
including cache-friendly sequence locking.)
966+
(Those willing to initialize their locks in a kmem_cache constructor
967+
may also use locking, including cache-friendly sequence locking.)
957968

958969
With traditional reference counting -- such as that implemented by the
959970
kref library in Linux -- there is typically code that runs when the last
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
Address translation
4+
===================
5+
6+
x86 AMD
7+
-------
8+
9+
Zen-based AMD systems include a Data Fabric that manages the layout of
10+
physical memory. Devices attached to the Fabric, like memory controllers,
11+
I/O, etc., may not have a complete view of the system physical memory map.
12+
These devices may provide a "normalized", i.e. device physical, address
13+
when reporting memory errors. Normalized addresses must be translated to
14+
a system physical address for the kernel to action on the memory.
15+
16+
AMD Address Translation Library (CONFIG_AMD_ATL) provides translation for
17+
this case.
18+
19+
Glossary of acronyms used in address translation for Zen-based systems
20+
21+
* CCM = Cache Coherent Moderator
22+
* COD = Cluster-on-Die
23+
* COH_ST = Coherent Station
24+
* DF = Data Fabric

Documentation/RAS/ras.rst renamed to Documentation/admin-guide/RAS/error-decoding.rst

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
11
.. SPDX-License-Identifier: GPL-2.0
22
3-
Reliability, Availability and Serviceability features
4-
=====================================================
5-
6-
This documents different aspects of the RAS functionality present in the
7-
kernel.
8-
93
Error decoding
10-
---------------
4+
==============
115

12-
* x86
6+
x86
7+
---
138

149
Error decoding on AMD systems should be done using the rasdaemon tool:
1510
https://github.com/mchehab/rasdaemon/
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
.. toctree::
3+
:maxdepth: 2
4+
5+
main
6+
error-decoding
7+
address-translation

Documentation/admin-guide/ras.rst renamed to Documentation/admin-guide/RAS/main.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
.. SPDX-License-Identifier: GPL-2.0
12
.. include:: <isonum.txt>
23

3-
============================================
4-
Reliability, Availability and Serviceability
5-
============================================
4+
==================================================
5+
Reliability, Availability and Serviceability (RAS)
6+
==================================================
7+
8+
This documents different aspects of the RAS functionality present in the
9+
kernel.
610

711
RAS concepts
812
************

Documentation/admin-guide/cgroup-v1/cpusets.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ files describing that cpuset:
179179
- cpuset.mem_hardwall flag: is memory allocation hardwalled
180180
- cpuset.memory_pressure: measure of how much paging pressure in cpuset
181181
- cpuset.memory_spread_page flag: if set, spread page cache evenly on allowed nodes
182-
- cpuset.memory_spread_slab flag: if set, spread slab cache evenly on allowed nodes
182+
- cpuset.memory_spread_slab flag: OBSOLETE. Doesn't have any function.
183183
- cpuset.sched_load_balance flag: if set, load balance within CPUs on that cpuset
184184
- cpuset.sched_relax_domain_level: the searching range when migrating tasks
185185

0 commit comments

Comments
 (0)