Skip to content

Commit ceb2465

Browse files
committed
Merge tag 'irqchip-fixes-5.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent
Pull irqchip fixes from Marc Zyngier: - Revert the wholesale conversion to platform drivers of the pdc, sysirq and cirq drivers, as it breaks a number of platforms even when the driver is built-in (probe ordering bites you). - Prevent interrupt from being lost with the STM32 exti driver - Fix wake-up interrupts for the MIPS Ingenic driver - Fix an embarassing typo in the new module helpers, leading to the probe failing most of the time - The promised TI firmware rework that couldn't make it into the merge window due to a very badly managed set of dependencies
2 parents f107cee + 821fc9e commit ceb2465

File tree

1,477 files changed

+25422
-13974
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,477 files changed

+25422
-13974
lines changed

.mailmap

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22
# This list is used by git-shortlog to fix a few botched name translations
33
# in the git archive, either because the author's full name was messed up
44
# and/or not always written the same way, making contributions from the
5-
# same person appearing not to be so or badly displayed.
5+
# same person appearing not to be so or badly displayed. Also allows for
6+
# old email addresses to map to new email addresses.
67
#
8+
# For format details, see "MAPPING AUTHORS" in "man git-shortlog".
9+
#
10+
# Please keep this list dictionary sorted.
11+
#
12+
# This comment is parsed by git-shortlog:
713
# repo-abbrev: /pub/scm/linux/kernel/git/
814
#
9-
1015
Aaron Durbin <[email protected]>
1116
Adam Oldham <[email protected]>
1217
Adam Radford <[email protected]>
@@ -99,6 +104,7 @@ Gerald Schaefer <[email protected]> <[email protected]>
99104
Greg Kroah-Hartman <greg@echidna.(none)>
100105
Greg Kroah-Hartman <[email protected]>
101106
Greg Kroah-Hartman <[email protected]>
107+
102108
103109
104110

Documentation/admin-guide/cgroup-v2.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,6 +1274,10 @@ PAGE_SIZE multiple when read back.
12741274
Amount of memory used for storing in-kernel data
12751275
structures.
12761276

1277+
percpu
1278+
Amount of memory used for storing per-cpu kernel
1279+
data structures.
1280+
12771281
sock
12781282
Amount of memory used in network transmission buffers
12791283

Documentation/admin-guide/hw-vuln/multihit.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ The possible values in this file are:
8080
- The processor is not vulnerable.
8181
* - KVM: Mitigation: Split huge pages
8282
- Software changes mitigate this issue.
83+
* - KVM: Mitigation: VMX unsupported
84+
- KVM is not vulnerable because Virtual Machine Extensions (VMX) is not supported.
85+
* - KVM: Mitigation: VMX disabled
86+
- KVM is not vulnerable because Virtual Machine Extensions (VMX) is disabled.
8387
* - KVM: Vulnerable
8488
- The processor is vulnerable, but no mitigation enabled
8589

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@
724724
memory region [offset, offset + size] for that kernel
725725
image. If '@offset' is omitted, then a suitable offset
726726
is selected automatically.
727-
[KNL, x86_64] select a region under 4G first, and
727+
[KNL, X86-64] Select a region under 4G first, and
728728
fall back to reserve region above 4G when '@offset'
729729
hasn't been specified.
730730
See Documentation/admin-guide/kdump/kdump.rst for further details.
@@ -737,14 +737,14 @@
737737
Documentation/admin-guide/kdump/kdump.rst for an example.
738738

739739
crashkernel=size[KMG],high
740-
[KNL, x86_64] range could be above 4G. Allow kernel
740+
[KNL, X86-64] range could be above 4G. Allow kernel
741741
to allocate physical memory region from top, so could
742742
be above 4G if system have more than 4G ram installed.
743743
Otherwise memory region will be allocated below 4G, if
744744
available.
745745
It will be ignored if crashkernel=X is specified.
746746
crashkernel=size[KMG],low
747-
[KNL, x86_64] range under 4G. When crashkernel=X,high
747+
[KNL, X86-64] range under 4G. When crashkernel=X,high
748748
is passed, kernel could allocate physical memory region
749749
above 4G, that cause second kernel crash on system
750750
that require some amount of low memory, e.g. swiotlb
@@ -1427,7 +1427,7 @@
14271427

14281428
gamma= [HW,DRM]
14291429

1430-
gart_fix_e820= [X86_64] disable the fix e820 for K8 GART
1430+
gart_fix_e820= [X86-64] disable the fix e820 for K8 GART
14311431
Format: off | on
14321432
default: on
14331433

@@ -1814,15 +1814,15 @@
18141814
Format: 0 | 1
18151815
Default set by CONFIG_INIT_ON_FREE_DEFAULT_ON.
18161816

1817-
init_pkru= [x86] Specify the default memory protection keys rights
1817+
init_pkru= [X86] Specify the default memory protection keys rights
18181818
register contents for all processes. 0x55555554 by
18191819
default (disallow access to all but pkey 0). Can
18201820
override in debugfs after boot.
18211821

18221822
inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver
18231823
Format: <irq>
18241824

1825-
int_pln_enable [x86] Enable power limit notification interrupt
1825+
int_pln_enable [X86] Enable power limit notification interrupt
18261826

18271827
integrity_audit=[IMA]
18281828
Format: { "0" | "1" }
@@ -1840,7 +1840,7 @@
18401840
bypassed by not enabling DMAR with this option. In
18411841
this case, gfx device will use physical address for
18421842
DMA.
1843-
forcedac [x86_64]
1843+
forcedac [X86-64]
18441844
With this option iommu will not optimize to look
18451845
for io virtual address below 32-bit forcing dual
18461846
address cycle on pci bus for cards supporting greater
@@ -1925,7 +1925,7 @@
19251925
strict regions from userspace.
19261926
relaxed
19271927

1928-
iommu= [x86]
1928+
iommu= [X86]
19291929
off
19301930
force
19311931
noforce
@@ -1935,8 +1935,8 @@
19351935
merge
19361936
nomerge
19371937
soft
1938-
pt [x86]
1939-
nopt [x86]
1938+
pt [X86]
1939+
nopt [X86]
19401940
nobypass [PPC/POWERNV]
19411941
Disable IOMMU bypass, using IOMMU for PCI devices.
19421942

@@ -2079,21 +2079,21 @@
20792079

20802080
iucv= [HW,NET]
20812081

2082-
ivrs_ioapic [HW,X86_64]
2082+
ivrs_ioapic [HW,X86-64]
20832083
Provide an override to the IOAPIC-ID<->DEVICE-ID
20842084
mapping provided in the IVRS ACPI table. For
20852085
example, to map IOAPIC-ID decimal 10 to
20862086
PCI device 00:14.0 write the parameter as:
20872087
ivrs_ioapic[10]=00:14.0
20882088

2089-
ivrs_hpet [HW,X86_64]
2089+
ivrs_hpet [HW,X86-64]
20902090
Provide an override to the HPET-ID<->DEVICE-ID
20912091
mapping provided in the IVRS ACPI table. For
20922092
example, to map HPET-ID decimal 0 to
20932093
PCI device 00:14.0 write the parameter as:
20942094
ivrs_hpet[0]=00:14.0
20952095

2096-
ivrs_acpihid [HW,X86_64]
2096+
ivrs_acpihid [HW,X86-64]
20972097
Provide an override to the ACPI-HID:UID<->DEVICE-ID
20982098
mapping provided in the IVRS ACPI table. For
20992099
example, to map UART-HID:UID AMD0020:0 to
@@ -2370,7 +2370,7 @@
23702370
lapic [X86-32,APIC] Enable the local APIC even if BIOS
23712371
disabled it.
23722372

2373-
lapic= [x86,APIC] "notscdeadline" Do not use TSC deadline
2373+
lapic= [X86,APIC] "notscdeadline" Do not use TSC deadline
23742374
value for LAPIC timer one-shot implementation. Default
23752375
back to the programmable timer unit in the LAPIC.
23762376

@@ -3188,12 +3188,12 @@
31883188
register save and restore. The kernel will only save
31893189
legacy floating-point registers on task switch.
31903190

3191-
nohugeiomap [KNL,x86,PPC] Disable kernel huge I/O mappings.
3191+
nohugeiomap [KNL,X86,PPC] Disable kernel huge I/O mappings.
31923192

31933193
nosmt [KNL,S390] Disable symmetric multithreading (SMT).
31943194
Equivalent to smt=1.
31953195

3196-
[KNL,x86] Disable symmetric multithreading (SMT).
3196+
[KNL,X86] Disable symmetric multithreading (SMT).
31973197
nosmt=force: Force disable SMT, cannot be undone
31983198
via the sysfs control file.
31993199

@@ -3955,7 +3955,7 @@
39553955
pt. [PARIDE]
39563956
See Documentation/admin-guide/blockdev/paride.rst.
39573957

3958-
pti= [X86_64] Control Page Table Isolation of user and
3958+
pti= [X86-64] Control Page Table Isolation of user and
39593959
kernel address spaces. Disabling this feature
39603960
removes hardening, but improves performance of
39613961
system calls and interrupts.
@@ -3967,7 +3967,7 @@
39673967

39683968
Not specifying this option is equivalent to pti=auto.
39693969

3970-
nopti [X86_64]
3970+
nopti [X86-64]
39713971
Equivalent to pti=off
39723972

39733973
pty.legacy_count=

Documentation/admin-guide/pm/intel_pstate.rst

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,13 @@ registered (see `below <status_attr_>`_).
5454
Operation Modes
5555
===============
5656

57-
``intel_pstate`` can operate in three different modes: in the active mode with
58-
or without hardware-managed P-states support and in the passive mode. Which of
59-
them will be in effect depends on what kernel command line options are used and
60-
on the capabilities of the processor.
57+
``intel_pstate`` can operate in two different modes, active or passive. In the
58+
active mode, it uses its own internal performance scaling governor algorithm or
59+
allows the hardware to do preformance scaling by itself, while in the passive
60+
mode it responds to requests made by a generic ``CPUFreq`` governor implementing
61+
a certain performance scaling algorithm. Which of them will be in effect
62+
depends on what kernel command line options are used and on the capabilities of
63+
the processor.
6164

6265
Active Mode
6366
-----------
@@ -194,10 +197,11 @@ This is the default operation mode of ``intel_pstate`` for processors without
194197
hardware-managed P-states (HWP) support. It is always used if the
195198
``intel_pstate=passive`` argument is passed to the kernel in the command line
196199
regardless of whether or not the given processor supports HWP. [Note that the
197-
``intel_pstate=no_hwp`` setting implies ``intel_pstate=passive`` if it is used
198-
without ``intel_pstate=active``.] Like in the active mode without HWP support,
199-
in this mode ``intel_pstate`` may refuse to work with processors that are not
200-
recognized by it.
200+
``intel_pstate=no_hwp`` setting causes the driver to start in the passive mode
201+
if it is not combined with ``intel_pstate=active``.] Like in the active mode
202+
without HWP support, in this mode ``intel_pstate`` may refuse to work with
203+
processors that are not recognized by it if HWP is prevented from being enabled
204+
through the kernel command line.
201205

202206
If the driver works in this mode, the ``scaling_driver`` policy attribute in
203207
``sysfs`` for all ``CPUFreq`` policies contains the string "intel_cpufreq".
@@ -318,10 +322,9 @@ manuals need to be consulted to get to it too.
318322

319323
For this reason, there is a list of supported processors in ``intel_pstate`` and
320324
the driver initialization will fail if the detected processor is not in that
321-
list, unless it supports the `HWP feature <Active Mode_>`_. [The interface to
322-
obtain all of the information listed above is the same for all of the processors
323-
supporting the HWP feature, which is why they all are supported by
324-
``intel_pstate``.]
325+
list, unless it supports the HWP feature. [The interface to obtain all of the
326+
information listed above is the same for all of the processors supporting the
327+
HWP feature, which is why ``intel_pstate`` works with all of them.]
325328

326329

327330
User Space Interface in ``sysfs``
@@ -425,22 +428,16 @@ argument is passed to the kernel in the command line.
425428
as well as the per-policy ones) are then reset to their default
426429
values, possibly depending on the target operation mode.]
427430

428-
That only is supported in some configurations, though (for example, if
429-
the `HWP feature is enabled in the processor <Active Mode With HWP_>`_,
430-
the operation mode of the driver cannot be changed), and if it is not
431-
supported in the current configuration, writes to this attribute will
432-
fail with an appropriate error.
433-
434431
``energy_efficiency``
435-
This attribute is only present on platforms, which have CPUs matching
436-
Kaby Lake or Coffee Lake desktop CPU model. By default
437-
energy efficiency optimizations are disabled on these CPU models in HWP
438-
mode by this driver. Enabling energy efficiency may limit maximum
439-
operating frequency in both HWP and non HWP mode. In non HWP mode,
440-
optimizations are done only in the turbo frequency range. In HWP mode,
441-
optimizations are done in the entire frequency range. Setting this
442-
attribute to "1" enables energy efficiency optimizations and setting
443-
to "0" disables energy efficiency optimizations.
432+
This attribute is only present on platforms with CPUs matching the Kaby
433+
Lake or Coffee Lake desktop CPU model. By default, energy-efficiency
434+
optimizations are disabled on these CPU models if HWP is enabled.
435+
Enabling energy-efficiency optimizations may limit maximum operating
436+
frequency with or without the HWP feature. With HWP enabled, the
437+
optimizations are done only in the turbo frequency range. Without it,
438+
they are done in the entire available frequency range. Setting this
439+
attribute to "1" enables the energy-efficiency optimizations and setting
440+
to "0" disables them.
444441

445442
Interpretation of Policy Attributes
446443
-----------------------------------
@@ -484,8 +481,8 @@ Next, the following policy attributes have special meaning if
484481
policy for the time interval between the last two invocations of the
485482
driver's utilization update callback by the CPU scheduler for that CPU.
486483

487-
One more policy attribute is present if the `HWP feature is enabled in the
488-
processor <Active Mode With HWP_>`_:
484+
One more policy attribute is present if the HWP feature is enabled in the
485+
processor:
489486

490487
``base_frequency``
491488
Shows the base frequency of the CPU. Any frequency above this will be
@@ -526,11 +523,11 @@ on the following rules, regardless of the current operation mode of the driver:
526523

527524
3. The global and per-policy limits can be set independently.
528525

529-
If the `HWP feature is enabled in the processor <Active Mode With HWP_>`_, the
530-
resulting effective values are written into its registers whenever the limits
531-
change in order to request its internal P-state selection logic to always set
532-
P-states within these limits. Otherwise, the limits are taken into account by
533-
scaling governors (in the `passive mode <Passive Mode_>`_) and by the driver
526+
In the `active mode with the HWP feature enabled <Active Mode With HWP_>`_, the
527+
resulting effective values are written into hardware registers whenever the
528+
limits change in order to request its internal P-state selection logic to always
529+
set P-states within these limits. Otherwise, the limits are taken into account
530+
by scaling governors (in the `passive mode <Passive Mode_>`_) and by the driver
534531
every time before setting a new P-state for a CPU.
535532

536533
Additionally, if the ``intel_pstate=per_cpu_perf_limits`` command line argument
@@ -541,12 +538,11 @@ at all and the only way to set the limits is by using the policy attributes.
541538
Energy vs Performance Hints
542539
---------------------------
543540

544-
If ``intel_pstate`` works in the `active mode with the HWP feature enabled
545-
<Active Mode With HWP_>`_ in the processor, additional attributes are present
546-
in every ``CPUFreq`` policy directory in ``sysfs``. They are intended to allow
547-
user space to help ``intel_pstate`` to adjust the processor's internal P-state
548-
selection logic by focusing it on performance or on energy-efficiency, or
549-
somewhere between the two extremes:
541+
If the hardware-managed P-states (HWP) is enabled in the processor, additional
542+
attributes, intended to allow user space to help ``intel_pstate`` to adjust the
543+
processor's internal P-state selection logic by focusing it on performance or on
544+
energy-efficiency, or somewhere between the two extremes, are present in every
545+
``CPUFreq`` policy directory in ``sysfs``. They are :
550546

551547
``energy_performance_preference``
552548
Current value of the energy vs performance hint for the given policy
@@ -650,12 +646,14 @@ of them have to be prepended with the ``intel_pstate=`` prefix.
650646
Do not register ``intel_pstate`` as the scaling driver even if the
651647
processor is supported by it.
652648

649+
``active``
650+
Register ``intel_pstate`` in the `active mode <Active Mode_>`_ to start
651+
with.
652+
653653
``passive``
654654
Register ``intel_pstate`` in the `passive mode <Passive Mode_>`_ to
655655
start with.
656656

657-
This option implies the ``no_hwp`` one described below.
658-
659657
``force``
660658
Register ``intel_pstate`` as the scaling driver instead of
661659
``acpi-cpufreq`` even if the latter is preferred on the given system.
@@ -670,13 +668,12 @@ of them have to be prepended with the ``intel_pstate=`` prefix.
670668
driver is used instead of ``acpi-cpufreq``.
671669

672670
``no_hwp``
673-
Do not enable the `hardware-managed P-states (HWP) feature
674-
<Active Mode With HWP_>`_ even if it is supported by the processor.
671+
Do not enable the hardware-managed P-states (HWP) feature even if it is
672+
supported by the processor.
675673

676674
``hwp_only``
677675
Register ``intel_pstate`` as the scaling driver only if the
678-
`hardware-managed P-states (HWP) feature <Active Mode With HWP_>`_ is
679-
supported by the processor.
676+
hardware-managed P-states (HWP) feature is supported by the processor.
680677

681678
``support_acpi_ppc``
682679
Take ACPI ``_PPC`` performance limits into account.

Documentation/admin-guide/sysctl/kernel.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ core_pattern
164164
%s signal number
165165
%t UNIX time of dump
166166
%h hostname
167-
%e executable filename (may be shortened)
167+
%e executable filename (may be shortened, could be changed by prctl etc)
168+
%f executable filename
168169
%E executable path
169170
%c maximum size of core file by resource limit RLIMIT_CORE
170171
%<OTHER> both are dropped

Documentation/admin-guide/sysctl/vm.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,21 @@ all zones are compacted such that free memory is available in contiguous
119119
blocks where possible. This can be important for example in the allocation of
120120
huge pages although processes will also directly compact memory as required.
121121

122+
compaction_proactiveness
123+
========================
124+
125+
This tunable takes a value in the range [0, 100] with a default value of
126+
20. This tunable determines how aggressively compaction is done in the
127+
background. Setting it to 0 disables proactive compaction.
128+
129+
Note that compaction has a non-trivial system-wide impact as pages
130+
belonging to different processes are moved around, which could also lead
131+
to latency spikes in unsuspecting applications. The kernel employs
132+
various heuristics to avoid wasting CPU cycles if it detects that
133+
proactive compaction is not being effective.
134+
135+
Be careful when setting it to extreme values like 100, as that may
136+
cause excessive background compaction activity.
122137

123138
compact_unevictable_allowed
124139
===========================

0 commit comments

Comments
 (0)