Skip to content

Commit e19ec64

Browse files
committed
Rebuild centos8 with kernel-4.18.0-147.el8
Rebuild_History BUILDABLERebuilding Kernel from rpm changelog with Fuzz Limit: 87.50% Number of commits in upstream range v4.18~1..master: 488125 Number of commits in rpm: 12676 Number of commits matched with upstream: 12533 (98.87%) Number of commits in upstream but not in rpm: 475704 Number of commits NOT found in upstream: 143 (1.13%) Rebuilding Kernel on Branch centos8_rebuild_kernel-4.18.0-147.el8 for kernel-4.18.0-147.el8 Clean Cherry Picks: 10511 (83.87%) Empty Cherry Picks: 1897 (15.14%) _______________________________ Full Details Located here: ciq/ciq_backports/kernel-4.18.0-147.el8/rebuild.details.txt Includes: * git commit header above * Empty Commits with upstream SHA * RPM ChangeLog Entries that could not be matched Individual Empty Commit failures contained in the same containing directory. The git message for empty commits will have the path for the failed commit. File names are the first 8 characters of the upstream SHA
1 parent 905227e commit e19ec64

File tree

4,417 files changed

+441602
-147189
lines changed

Some content is hidden

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

4,417 files changed

+441602
-147189
lines changed

Documentation/DMA-API.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ Requesting the required mask does not alter the current mask. If you
195195
wish to take advantage of it, you should issue a dma_set_mask()
196196
call to set the mask to the value returned.
197197

198+
::
199+
200+
size_t
201+
dma_direct_max_mapping_size(struct device *dev);
202+
203+
Returns the maximum size of a mapping for the device. The size parameter
204+
of the mapping functions like dma_map_single(), dma_map_page() and
205+
others should not be larger than the returned value.
198206

199207
Part Id - Streaming DMA mappings
200208
--------------------------------

Documentation/accounting/psi.txt

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
================================
2+
PSI - Pressure Stall Information
3+
================================
4+
5+
:Date: April, 2018
6+
:Author: Johannes Weiner <[email protected]>
7+
8+
When CPU, memory or IO devices are contended, workloads experience
9+
latency spikes, throughput losses, and run the risk of OOM kills.
10+
11+
Without an accurate measure of such contention, users are forced to
12+
either play it safe and under-utilize their hardware resources, or
13+
roll the dice and frequently suffer the disruptions resulting from
14+
excessive overcommit.
15+
16+
The psi feature identifies and quantifies the disruptions caused by
17+
such resource crunches and the time impact it has on complex workloads
18+
or even entire systems.
19+
20+
Having an accurate measure of productivity losses caused by resource
21+
scarcity aids users in sizing workloads to hardware--or provisioning
22+
hardware according to workload demand.
23+
24+
As psi aggregates this information in realtime, systems can be managed
25+
dynamically using techniques such as load shedding, migrating jobs to
26+
other systems or data centers, or strategically pausing or killing low
27+
priority or restartable batch jobs.
28+
29+
This allows maximizing hardware utilization without sacrificing
30+
workload health or risking major disruptions such as OOM kills.
31+
32+
Pressure interface
33+
==================
34+
35+
Pressure information for each resource is exported through the
36+
respective file in /proc/pressure/ -- cpu, memory, and io.
37+
38+
The format for CPU is as such:
39+
40+
some avg10=0.00 avg60=0.00 avg300=0.00 total=0
41+
42+
and for memory and IO:
43+
44+
some avg10=0.00 avg60=0.00 avg300=0.00 total=0
45+
full avg10=0.00 avg60=0.00 avg300=0.00 total=0
46+
47+
The "some" line indicates the share of time in which at least some
48+
tasks are stalled on a given resource.
49+
50+
The "full" line indicates the share of time in which all non-idle
51+
tasks are stalled on a given resource simultaneously. In this state
52+
actual CPU cycles are going to waste, and a workload that spends
53+
extended time in this state is considered to be thrashing. This has
54+
severe impact on performance, and it's useful to distinguish this
55+
situation from a state where some tasks are stalled but the CPU is
56+
still doing productive work. As such, time spent in this subset of the
57+
stall state is tracked separately and exported in the "full" averages.
58+
59+
The ratios (in %) are tracked as recent trends over ten, sixty, and
60+
three hundred second windows, which gives insight into short term events
61+
as well as medium and long term trends. The total absolute stall time
62+
(in us) is tracked and exported as well, to allow detection of latency
63+
spikes which wouldn't necessarily make a dent in the time averages,
64+
or to average trends over custom time frames.
65+
66+
Monitoring for pressure thresholds
67+
==================================
68+
69+
Users can register triggers and use poll() to be woken up when resource
70+
pressure exceeds certain thresholds.
71+
72+
A trigger describes the maximum cumulative stall time over a specific
73+
time window, e.g. 100ms of total stall time within any 500ms window to
74+
generate a wakeup event.
75+
76+
To register a trigger user has to open psi interface file under
77+
/proc/pressure/ representing the resource to be monitored and write the
78+
desired threshold and time window. The open file descriptor should be
79+
used to wait for trigger events using select(), poll() or epoll().
80+
The following format is used:
81+
82+
<some|full> <stall amount in us> <time window in us>
83+
84+
For example writing "some 150000 1000000" into /proc/pressure/memory
85+
would add 150ms threshold for partial memory stall measured within
86+
1sec time window. Writing "full 50000 1000000" into /proc/pressure/io
87+
would add 50ms threshold for full io stall measured within 1sec time window.
88+
89+
Triggers can be set on more than one psi metric and more than one trigger
90+
for the same psi metric can be specified. However for each trigger a separate
91+
file descriptor is required to be able to poll it separately from others,
92+
therefore for each trigger a separate open() syscall should be made even
93+
when opening the same psi interface file.
94+
95+
Monitors activate only when system enters stall state for the monitored
96+
psi metric and deactivates upon exit from the stall state. While system is
97+
in the stall state psi signal growth is monitored at a rate of 10 times per
98+
tracking window.
99+
100+
The kernel accepts window sizes ranging from 500ms to 10s, therefore min
101+
monitoring update interval is 50ms and max is 1s. Min limit is set to
102+
prevent overly frequent polling. Max limit is chosen as a high enough number
103+
after which monitors are most likely not needed and psi averages can be used
104+
instead.
105+
106+
When activated, psi monitor stays active for at least the duration of one
107+
tracking window to avoid repeated activations/deactivations when system is
108+
bouncing in and out of the stall state.
109+
110+
Notifications to the userspace are rate-limited to one per tracking window.
111+
112+
The trigger will de-register when the file descriptor used to define the
113+
trigger is closed.
114+
115+
Userspace monitor usage example
116+
===============================
117+
118+
#include <errno.h>
119+
#include <fcntl.h>
120+
#include <stdio.h>
121+
#include <poll.h>
122+
#include <string.h>
123+
#include <unistd.h>
124+
125+
/*
126+
* Monitor memory partial stall with 1s tracking window size
127+
* and 150ms threshold.
128+
*/
129+
int main() {
130+
const char trig[] = "some 150000 1000000";
131+
struct pollfd fds;
132+
int n;
133+
134+
fds.fd = open("/proc/pressure/memory", O_RDWR | O_NONBLOCK);
135+
if (fds.fd < 0) {
136+
printf("/proc/pressure/memory open error: %s\n",
137+
strerror(errno));
138+
return 1;
139+
}
140+
fds.events = POLLPRI;
141+
142+
if (write(fds.fd, trig, strlen(trig) + 1) < 0) {
143+
printf("/proc/pressure/memory write error: %s\n",
144+
strerror(errno));
145+
return 1;
146+
}
147+
148+
printf("waiting for events...\n");
149+
while (1) {
150+
n = poll(&fds, 1, -1);
151+
if (n < 0) {
152+
printf("poll error: %s\n", strerror(errno));
153+
return 1;
154+
}
155+
if (fds.revents & POLLERR) {
156+
printf("got POLLERR, event source is gone\n");
157+
return 0;
158+
}
159+
if (fds.revents & POLLPRI) {
160+
printf("event triggered!\n");
161+
} else {
162+
printf("unknown event received: 0x%x\n", fds.revents);
163+
return 1;
164+
}
165+
}
166+
167+
return 0;
168+
}
169+
170+
Cgroup2 interface
171+
=================
172+
173+
In a system with a CONFIG_CGROUP=y kernel and the cgroup2 filesystem
174+
mounted, pressure stall information is also tracked for tasks grouped
175+
into cgroups. Each subdirectory in the cgroupfs mountpoint contains
176+
cpu.pressure, memory.pressure, and io.pressure files; the format is
177+
the same as the /proc/pressure/ files.
178+
179+
Per-cgroup psi monitors can be specified and used the same way as
180+
system-wide ones.

Documentation/admin-guide/cgroup-v2.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -995,6 +995,12 @@ All time durations are in microseconds.
995995
$PERIOD duration. "max" for $MAX indicates no limit. If only
996996
one number is written, $MAX is updated.
997997

998+
cpu.pressure
999+
A read-only nested-key file which exists on non-root cgroups.
1000+
1001+
Shows pressure stall information for CPU. See
1002+
Documentation/accounting/psi.txt for details.
1003+
9981004

9991005
Memory
10001006
------
@@ -1300,6 +1306,12 @@ PAGE_SIZE multiple when read back.
13001306
higher than the limit for an extended period of time. This
13011307
reduces the impact on the workload and memory management.
13021308

1309+
memory.pressure
1310+
A read-only nested-key file which exists on non-root cgroups.
1311+
1312+
Shows pressure stall information for memory. See
1313+
Documentation/accounting/psi.txt for details.
1314+
13031315

13041316
Usage Guidelines
13051317
~~~~~~~~~~~~~~~~
@@ -1437,6 +1449,12 @@ IO Interface Files
14371449

14381450
8:16 rbps=2097152 wbps=max riops=max wiops=max
14391451

1452+
io.pressure
1453+
A read-only nested-key file which exists on non-root cgroups.
1454+
1455+
Shows pressure stall information for IO. See
1456+
Documentation/accounting/psi.txt for details.
1457+
14401458

14411459
Writeback
14421460
~~~~~~~~~

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ When nested virtualization is in use, three operating systems are involved:
557557
the bare metal hypervisor, the nested hypervisor and the nested virtual
558558
machine. VMENTER operations from the nested hypervisor into the nested
559559
guest will always be processed by the bare metal hypervisor. If KVM is the
560-
bare metal hypervisor it wiil:
560+
bare metal hypervisor it will:
561561

562562
- Flush the L1D cache on every switch from the nested hypervisor to the
563563
nested virtual machine, so that the nested hypervisor's secrets are not

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -696,8 +696,11 @@
696696
upon panic. This parameter reserves the physical
697697
memory region [offset, offset + size] for that kernel
698698
image. If '@offset' is omitted, then a suitable offset
699-
is selected automatically. Check
700-
Documentation/kdump/kdump.txt for further details.
699+
is selected automatically.
700+
[KNL, x86_64] select a region under 4G first, and
701+
fall back to reserve region above 4G when '@offset'
702+
hasn't been specified.
703+
See Documentation/kdump/kdump.txt for further details.
701704

702705
crashkernel=range1:size1[,range2:size2,...][@offset]
703706
[KNL] Same as above, but depends on the memory
@@ -2526,19 +2529,23 @@
25262529
http://repo.or.cz/w/linux-2.6/mini2440.git
25272530

25282531
mitigations=
2529-
[X86] Control optional mitigations for CPU
2530-
vulnerabilities. This is a set of curated,
2532+
[X86,PPC,S390,ARM64] Control optional mitigations for
2533+
CPU vulnerabilities. This is a set of curated,
25312534
arch-independent options, each of which is an
25322535
aggregation of existing arch-specific options.
25332536

25342537
off
25352538
Disable all optional CPU mitigations. This
25362539
improves system performance, but it may also
25372540
expose users to several CPU vulnerabilities.
2538-
Equivalent to: nopti [X86]
2539-
nospectre_v2 [X86]
2541+
Equivalent to: nopti [X86,PPC]
2542+
kpti=0 [ARM64]
2543+
nospectre_v1 [X86,PPC]
2544+
nobp=0 [S390]
2545+
nospectre_v2 [X86,PPC,S390,ARM64]
25402546
spectre_v2_user=off [X86]
2541-
spec_store_bypass_disable=off [X86]
2547+
spec_store_bypass_disable=off [X86,PPC]
2548+
ssbd=force-off [ARM64]
25422549
l1tf=off [X86]
25432550
mds=off [X86]
25442551

@@ -2893,10 +2900,14 @@
28932900
nosmt=force: Force disable SMT, cannot be undone
28942901
via the sysfs control file.
28952902

2896-
nospectre_v2 [X86] Disable all mitigations for the Spectre variant 2
2897-
(indirect branch prediction) vulnerability. System may
2898-
allow data leaks with this option, which is equivalent
2899-
to spectre_v2=off.
2903+
nospectre_v1 [X86] Disable mitigations for Spectre Variant 1
2904+
(bounds check bypass). With this option data leaks are
2905+
possible in the system.
2906+
2907+
nospectre_v2 [X86,PPC_FSL_BOOK3E,ARM64] Disable all mitigations for
2908+
the Spectre variant 2 (indirect branch prediction)
2909+
vulnerability. System may allow data leaks with this
2910+
option.
29002911

29012912
nospec_store_bypass_disable
29022913
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
@@ -3574,6 +3585,10 @@
35743585
before loading.
35753586
See Documentation/blockdev/ramdisk.txt.
35763587

3588+
psi= [KNL] Enable or disable pressure stall information
3589+
tracking.
3590+
Format: <bool>
3591+
35773592
psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to
35783593
probe for; one of (bare|imps|exps|lifebook|any).
35793594
psmouse.rate= [HW,MOUSE] Set desired mouse report rate, in reports

Documentation/arm64/silicon-errata.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ stable kernels.
5757
| ARM | Cortex-A73 | #858921 | ARM64_ERRATUM_858921 |
5858
| ARM | Cortex-A55 | #1024718 | ARM64_ERRATUM_1024718 |
5959
| ARM | Cortex-A76 | #1188873 | ARM64_ERRATUM_1188873 |
60+
| ARM | Cortex-A76 | #1165522 | ARM64_ERRATUM_1165522 |
6061
| ARM | MMU-500 | #841119,#826419 | N/A |
6162
| | | | |
6263
| Cavium | ThunderX ITS | #22375, #24313 | CAVIUM_ERRATUM_22375 |
@@ -78,3 +79,4 @@ stable kernels.
7879
| Qualcomm Tech. | Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
7980
| Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 |
8081
| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
82+
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |

0 commit comments

Comments
 (0)