Skip to content

Commit 5f67523

Browse files
author
Ingo Molnar
committed
Merge tag 'v4.20-rc5' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <[email protected]>
2 parents 3e18450 + 2595646 commit 5f67523

File tree

5,490 files changed

+296562
-85076
lines changed

Some content is hidden

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

5,490 files changed

+296562
-85076
lines changed

.clang-format

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,6 @@ ForEachMacros:
323323
- 'protocol_for_each_card'
324324
- 'protocol_for_each_dev'
325325
- 'queue_for_each_hw_ctx'
326-
- 'radix_tree_for_each_contig'
327326
- 'radix_tree_for_each_slot'
328327
- 'radix_tree_for_each_tagged'
329328
- 'rbtree_postorder_for_each_entry_safe'

.mailmap

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,13 @@ Mark Brown <[email protected]>
119119
120120
121121
122+
123+
124+
125+
126+
127+
128+
122129
Matthieu CASTET <[email protected]>
123130
Mauro Carvalho Chehab <[email protected]> <[email protected]>
124131
Mauro Carvalho Chehab <[email protected]> <[email protected]>
@@ -152,7 +159,13 @@ Peter Oruba <[email protected]>
152159
Peter Oruba <[email protected]>
153160
154161
Praveen BP <[email protected]>
162+
155163
164+
165+
166+
167+
168+
156169
Rajesh Shah <[email protected]>
157170
Ralf Baechle <[email protected]>
158171
Ralf Wildenhues <[email protected]>

CREDITS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2138,6 +2138,10 @@ E: [email protected]
21382138
D: Soundblaster driver fixes, ISAPnP quirk
21392139
S: California, USA
21402140

2141+
N: Jarkko Lavinen
2142+
2143+
D: OMAP MMC support
2144+
21412145
N: Jonathan Layes
21422146
D: ARPD support
21432147

@@ -2200,6 +2204,10 @@ S: Post Office Box 371
22002204
S: North Little Rock, Arkansas 72115
22012205
S: USA
22022206

2207+
N: Christopher Li
2208+
2209+
D: Sparse maintainer 2009 - 2018
2210+
22032211
N: Stephan Linz
22042212
22052213

Documentation/ABI/testing/sysfs-bus-iio

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ Description:
199199

200200
What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
201201
What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
202-
KernelVersion: 4.18
202+
KernelVersion: 4.19
203203
204204
Description:
205205
Relative position in direction x or y on a pad (may be

Documentation/ABI/testing/sysfs-class-led-trigger-pattern

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ Description:
3737
0-| / \/ \/
3838
+---0----1----2----3----4----5----6------------> time (s)
3939

40-
2. To make the LED go instantly from one brigntess value to another,
41-
we should use use zero-time lengths (the brightness must be same as
40+
2. To make the LED go instantly from one brightness value to another,
41+
we should use zero-time lengths (the brightness must be same as
4242
the previous tuple's). So the format should be:
4343
"brightness_1 duration_1 brightness_1 0 brightness_2 duration_2
4444
brightness_2 0 ...". For example:
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
What: /sys/devices/platform/lg-laptop/reader_mode
2+
Date: October 2018
3+
KernelVersion: 4.20
4+
Contact: "Matan Ziv-Av <[email protected]>
5+
Description:
6+
Control reader mode. 1 means on, 0 means off.
7+
8+
What: /sys/devices/platform/lg-laptop/fn_lock
9+
Date: October 2018
10+
KernelVersion: 4.20
11+
Contact: "Matan Ziv-Av <[email protected]>
12+
Description:
13+
Control FN lock mode. 1 means on, 0 means off.
14+
15+
What: /sys/devices/platform/lg-laptop/battery_care_limit
16+
Date: October 2018
17+
KernelVersion: 4.20
18+
Contact: "Matan Ziv-Av <[email protected]>
19+
Description:
20+
Maximal battery charge level. Accepted values are 80 or 100.
21+
22+
What: /sys/devices/platform/lg-laptop/fan_mode
23+
Date: October 2018
24+
KernelVersion: 4.20
25+
Contact: "Matan Ziv-Av <[email protected]>
26+
Description:
27+
Control fan mode. 1 for performance mode, 0 for silent mode.
28+
29+
What: /sys/devices/platform/lg-laptop/usb_charge
30+
Date: October 2018
31+
KernelVersion: 4.20
32+
Contact: "Matan Ziv-Av <[email protected]>
33+
Description:
34+
Control USB port charging when device is turned off.
35+
1 means on, 0 means off.

Documentation/admin-guide/cgroup-v2.rst

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1879,10 +1879,8 @@ following two functions.
18791879

18801880
wbc_init_bio(@wbc, @bio)
18811881
Should be called for each bio carrying writeback data and
1882-
associates the bio with the inode's owner cgroup and the
1883-
corresponding request queue. This must be called after
1884-
a queue (device) has been associated with the bio and
1885-
before submission.
1882+
associates the bio with the inode's owner cgroup. Can be
1883+
called anytime between bio allocation and submission.
18861884

18871885
wbc_account_io(@wbc, @page, @bytes)
18881886
Should be called for each data segment being written out.
@@ -1901,7 +1899,7 @@ the configuration, the bio may be executed at a lower priority and if
19011899
the writeback session is holding shared resources, e.g. a journal
19021900
entry, may lead to priority inversion. There is no one easy solution
19031901
for the problem. Filesystems can try to work around specific problem
1904-
cases by skipping wbc_init_bio() or using bio_associate_create_blkg()
1902+
cases by skipping wbc_init_bio() or using bio_associate_blkcg()
19051903
directly.
19061904

19071905

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 67 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -856,7 +856,8 @@
856856
causing system reset or hang due to sending
857857
INIT from AP to BSP.
858858

859-
disable_counter_freezing [HW]
859+
perf_v4_pmi= [X86,INTEL]
860+
Format: <bool>
860861
Disable Intel PMU counter freezing feature.
861862
The feature only exists starting from
862863
Arch Perfmon v4 (Skylake and newer).
@@ -1068,7 +1069,7 @@
10681069
earlyprintk=serial[,0x...[,baudrate]]
10691070
earlyprintk=ttySn[,baudrate]
10701071
earlyprintk=dbgp[debugController#]
1071-
earlyprintk=pciserial,bus:device.function[,baudrate]
1072+
earlyprintk=pciserial[,force],bus:device.function[,baudrate]
10721073
earlyprintk=xdbc[xhciController#]
10731074

10741075
earlyprintk is useful when the kernel crashes before
@@ -1100,6 +1101,10 @@
11001101

11011102
The sclp output can only be used on s390.
11021103

1104+
The optional "force" to "pciserial" enables use of a
1105+
PCI device even when its classcode is not of the
1106+
UART class.
1107+
11031108
edac_report= [HW,EDAC] Control how to report EDAC event
11041109
Format: {"on" | "off" | "force"}
11051110
on: enable EDAC to report H/W event. May be overridden
@@ -3500,6 +3505,10 @@
35003505
before loading.
35013506
See Documentation/blockdev/ramdisk.txt.
35023507

3508+
psi= [KNL] Enable or disable pressure stall information
3509+
tracking.
3510+
Format: <bool>
3511+
35033512
psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to
35043513
probe for; one of (bare|imps|exps|lifebook|any).
35053514
psmouse.rate= [HW,MOUSE] Set desired mouse report rate, in reports
@@ -4190,9 +4199,13 @@
41904199

41914200
spectre_v2= [X86] Control mitigation of Spectre variant 2
41924201
(indirect branch speculation) vulnerability.
4202+
The default operation protects the kernel from
4203+
user space attacks.
41934204

4194-
on - unconditionally enable
4195-
off - unconditionally disable
4205+
on - unconditionally enable, implies
4206+
spectre_v2_user=on
4207+
off - unconditionally disable, implies
4208+
spectre_v2_user=off
41964209
auto - kernel detects whether your CPU model is
41974210
vulnerable
41984211

@@ -4202,6 +4215,12 @@
42024215
CONFIG_RETPOLINE configuration option, and the
42034216
compiler with which the kernel was built.
42044217

4218+
Selecting 'on' will also enable the mitigation
4219+
against user space to user space task attacks.
4220+
4221+
Selecting 'off' will disable both the kernel and
4222+
the user space protections.
4223+
42054224
Specific mitigations can also be selected manually:
42064225

42074226
retpoline - replace indirect branches
@@ -4211,6 +4230,48 @@
42114230
Not specifying this option is equivalent to
42124231
spectre_v2=auto.
42134232

4233+
spectre_v2_user=
4234+
[X86] Control mitigation of Spectre variant 2
4235+
(indirect branch speculation) vulnerability between
4236+
user space tasks
4237+
4238+
on - Unconditionally enable mitigations. Is
4239+
enforced by spectre_v2=on
4240+
4241+
off - Unconditionally disable mitigations. Is
4242+
enforced by spectre_v2=off
4243+
4244+
prctl - Indirect branch speculation is enabled,
4245+
but mitigation can be enabled via prctl
4246+
per thread. The mitigation control state
4247+
is inherited on fork.
4248+
4249+
prctl,ibpb
4250+
- Like "prctl" above, but only STIBP is
4251+
controlled per thread. IBPB is issued
4252+
always when switching between different user
4253+
space processes.
4254+
4255+
seccomp
4256+
- Same as "prctl" above, but all seccomp
4257+
threads will enable the mitigation unless
4258+
they explicitly opt out.
4259+
4260+
seccomp,ibpb
4261+
- Like "seccomp" above, but only STIBP is
4262+
controlled per thread. IBPB is issued
4263+
always when switching between different
4264+
user space processes.
4265+
4266+
auto - Kernel selects the mitigation depending on
4267+
the available CPU features and vulnerability.
4268+
4269+
Default mitigation:
4270+
If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl"
4271+
4272+
Not specifying this option is equivalent to
4273+
spectre_v2_user=auto.
4274+
42144275
spec_store_bypass_disable=
42154276
[HW] Control Speculative Store Bypass (SSB) Disable mitigation
42164277
(Speculative Store Bypass vulnerability)
@@ -4709,6 +4770,8 @@
47094770
prevent spurious wakeup);
47104771
n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a
47114772
pause after every control message);
4773+
o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra
4774+
delay after resetting its port);
47124775
Example: quirks=0781:5580:bk,0a5c:5834:gij
47134776

47144777
usbhid.mousepoll=

Documentation/admin-guide/mm/memory-hotplug.rst

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Memory Hotplug
55
==============
66

77
:Created: Jul 28 2007
8-
:Updated: Add description of notifier of memory hotplug: Oct 11 2007
8+
:Updated: Add some details about locking internals: Aug 20 2018
99

1010
This document is about memory hotplug including how-to-use and current status.
1111
Because Memory Hotplug is still under development, contents of this text will
@@ -392,6 +392,46 @@ Need more implementation yet....
392392
- Notification completion of remove works by OS to firmware.
393393
- Guard from remove if not yet.
394394

395+
396+
Locking Internals
397+
=================
398+
399+
When adding/removing memory that uses memory block devices (i.e. ordinary RAM),
400+
the device_hotplug_lock should be held to:
401+
402+
- synchronize against online/offline requests (e.g. via sysfs). This way, memory
403+
block devices can only be accessed (.online/.state attributes) by user
404+
space once memory has been fully added. And when removing memory, we
405+
know nobody is in critical sections.
406+
- synchronize against CPU hotplug and similar (e.g. relevant for ACPI and PPC)
407+
408+
Especially, there is a possible lock inversion that is avoided using
409+
device_hotplug_lock when adding memory and user space tries to online that
410+
memory faster than expected:
411+
412+
- device_online() will first take the device_lock(), followed by
413+
mem_hotplug_lock
414+
- add_memory_resource() will first take the mem_hotplug_lock, followed by
415+
the device_lock() (while creating the devices, during bus_add_device()).
416+
417+
As the device is visible to user space before taking the device_lock(), this
418+
can result in a lock inversion.
419+
420+
onlining/offlining of memory should be done via device_online()/
421+
device_offline() - to make sure it is properly synchronized to actions
422+
via sysfs. Holding device_hotplug_lock is advised (to e.g. protect online_type)
423+
424+
When adding/removing/onlining/offlining memory or adding/removing
425+
heterogeneous/device memory, we should always hold the mem_hotplug_lock in
426+
write mode to serialise memory hotplug (e.g. access to global/zone
427+
variables).
428+
429+
In addition, mem_hotplug_lock (in contrast to device_hotplug_lock) in read
430+
mode allows for a quite efficient get_online_mems/put_online_mems
431+
implementation, so code accessing memory can protect from that memory
432+
vanishing.
433+
434+
395435
Future Work
396436
===========
397437

Documentation/admin-guide/pm/cpufreq.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ data structures necessary to handle the given policy and, possibly, to add
150150
a governor ``sysfs`` interface to it. Next, the governor is started by
151151
invoking its ``->start()`` callback.
152152

153-
That callback it expected to register per-CPU utilization update callbacks for
153+
That callback is expected to register per-CPU utilization update callbacks for
154154
all of the online CPUs belonging to the given policy with the CPU scheduler.
155155
The utilization update callbacks will be invoked by the CPU scheduler on
156156
important events, like task enqueue and dequeue, on every iteration of the

0 commit comments

Comments
 (0)