Skip to content

Commit 23da766

Browse files
author
Ingo Molnar
committed
Merge tag 'v5.2-rc5' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <[email protected]>
2 parents af75d1a + 9e0babf commit 23da766

File tree

4,083 files changed

+8539
-34971
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,083 files changed

+8539
-34971
lines changed

Documentation/arm64/sve.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,18 @@ model features for SVE is included in Appendix A.
5656
is to connect to a target process first and then attempt a
5757
ptrace(PTRACE_GETREGSET, pid, NT_ARM_SVE, &iov).
5858

59+
* Whenever SVE scalable register values (Zn, Pn, FFR) are exchanged in memory
60+
between userspace and the kernel, the register value is encoded in memory in
61+
an endianness-invariant layout, with bits [(8 * i + 7) : (8 * i)] encoded at
62+
byte offset i from the start of the memory representation. This affects for
63+
example the signal frame (struct sve_context) and ptrace interface
64+
(struct user_sve_header) and associated data.
65+
66+
Beware that on big-endian systems this results in a different byte order than
67+
for the FPSIMD V-registers, which are stored as single host-endian 128-bit
68+
values, with bits [(127 - 8 * i) : (120 - 8 * i)] of the register encoded at
69+
byte offset i. (struct fpsimd_context, struct user_fpsimd_state).
70+
5971

6072
2. Vector length terminology
6173
-----------------------------
@@ -124,6 +136,10 @@ the SVE instruction set architecture.
124136
size and layout. Macros SVE_SIG_* are defined [1] to facilitate access to
125137
the members.
126138

139+
* Each scalable register (Zn, Pn, FFR) is stored in an endianness-invariant
140+
layout, with bits [(8 * i + 7) : (8 * i)] stored at byte offset i from the
141+
start of the register's representation in memory.
142+
127143
* If the SVE context is too big to fit in sigcontext.__reserved[], then extra
128144
space is allocated on the stack, an extra_context record is written in
129145
__reserved[] referencing this space. sve_context is then written in the

Documentation/block/switching-sched.txt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@ you can do so by typing:
1313

1414
# mount none /sys -t sysfs
1515

16-
As of the Linux 2.6.10 kernel, it is now possible to change the
17-
IO scheduler for a given block device on the fly (thus making it possible,
18-
for instance, to set the CFQ scheduler for the system default, but
19-
set a specific device to use the deadline or noop schedulers - which
20-
can improve that device's throughput).
16+
It is possible to change the IO scheduler for a given block device on
17+
the fly to select one of mq-deadline, none, bfq, or kyber schedulers -
18+
which can improve that device's throughput.
2119

2220
To set a specific scheduler, simply do this:
2321

@@ -30,8 +28,8 @@ The list of defined schedulers can be found by simply doing
3028
a "cat /sys/block/DEV/queue/scheduler" - the list of valid names
3129
will be displayed, with the currently selected scheduler in brackets:
3230

33-
# cat /sys/block/hda/queue/scheduler
34-
noop deadline [cfq]
35-
# echo deadline > /sys/block/hda/queue/scheduler
36-
# cat /sys/block/hda/queue/scheduler
37-
noop [deadline] cfq
31+
# cat /sys/block/sda/queue/scheduler
32+
[mq-deadline] kyber bfq none
33+
# echo none >/sys/block/sda/queue/scheduler
34+
# cat /sys/block/sda/queue/scheduler
35+
[none] mq-deadline kyber bfq

Documentation/cgroup-v1/blkio-controller.txt

Lines changed: 7 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -8,61 +8,13 @@ both at leaf nodes as well as at intermediate nodes in a storage hierarchy.
88
Plan is to use the same cgroup based management interface for blkio controller
99
and based on user options switch IO policies in the background.
1010

11-
Currently two IO control policies are implemented. First one is proportional
12-
weight time based division of disk policy. It is implemented in CFQ. Hence
13-
this policy takes effect only on leaf nodes when CFQ is being used. The second
14-
one is throttling policy which can be used to specify upper IO rate limits
15-
on devices. This policy is implemented in generic block layer and can be
16-
used on leaf nodes as well as higher level logical devices like device mapper.
11+
One IO control policy is throttling policy which can be used to
12+
specify upper IO rate limits on devices. This policy is implemented in
13+
generic block layer and can be used on leaf nodes as well as higher
14+
level logical devices like device mapper.
1715

1816
HOWTO
1917
=====
20-
Proportional Weight division of bandwidth
21-
-----------------------------------------
22-
You can do a very simple testing of running two dd threads in two different
23-
cgroups. Here is what you can do.
24-
25-
- Enable Block IO controller
26-
CONFIG_BLK_CGROUP=y
27-
28-
- Enable group scheduling in CFQ
29-
CONFIG_CFQ_GROUP_IOSCHED=y
30-
31-
- Compile and boot into kernel and mount IO controller (blkio); see
32-
cgroups.txt, Why are cgroups needed?.
33-
34-
mount -t tmpfs cgroup_root /sys/fs/cgroup
35-
mkdir /sys/fs/cgroup/blkio
36-
mount -t cgroup -o blkio none /sys/fs/cgroup/blkio
37-
38-
- Create two cgroups
39-
mkdir -p /sys/fs/cgroup/blkio/test1/ /sys/fs/cgroup/blkio/test2
40-
41-
- Set weights of group test1 and test2
42-
echo 1000 > /sys/fs/cgroup/blkio/test1/blkio.weight
43-
echo 500 > /sys/fs/cgroup/blkio/test2/blkio.weight
44-
45-
- Create two same size files (say 512MB each) on same disk (file1, file2) and
46-
launch two dd threads in different cgroup to read those files.
47-
48-
sync
49-
echo 3 > /proc/sys/vm/drop_caches
50-
51-
dd if=/mnt/sdb/zerofile1 of=/dev/null &
52-
echo $! > /sys/fs/cgroup/blkio/test1/tasks
53-
cat /sys/fs/cgroup/blkio/test1/tasks
54-
55-
dd if=/mnt/sdb/zerofile2 of=/dev/null &
56-
echo $! > /sys/fs/cgroup/blkio/test2/tasks
57-
cat /sys/fs/cgroup/blkio/test2/tasks
58-
59-
- At macro level, first dd should finish first. To get more precise data, keep
60-
on looking at (with the help of script), at blkio.disk_time and
61-
blkio.disk_sectors files of both test1 and test2 groups. This will tell how
62-
much disk time (in milliseconds), each group got and how many sectors each
63-
group dispatched to the disk. We provide fairness in terms of disk time, so
64-
ideally io.disk_time of cgroups should be in proportion to the weight.
65-
6618
Throttling/Upper Limit policy
6719
-----------------------------
6820
- Enable Block IO controller
@@ -94,7 +46,7 @@ Throttling/Upper Limit policy
9446
Hierarchical Cgroups
9547
====================
9648

97-
Both CFQ and throttling implement hierarchy support; however,
49+
Throttling implements hierarchy support; however,
9850
throttling's hierarchy support is enabled iff "sane_behavior" is
9951
enabled from cgroup side, which currently is a development option and
10052
not publicly available.
@@ -107,9 +59,8 @@ If somebody created a hierarchy like as follows.
10759
|
10860
test3
10961

110-
CFQ by default and throttling with "sane_behavior" will handle the
111-
hierarchy correctly. For details on CFQ hierarchy support, refer to
112-
Documentation/block/cfq-iosched.txt. For throttling, all limits apply
62+
Throttling with "sane_behavior" will handle the
63+
hierarchy correctly. For throttling, all limits apply
11364
to the whole subtree while all statistics are local to the IOs
11465
directly generated by tasks in that cgroup.
11566

@@ -130,10 +81,6 @@ CONFIG_DEBUG_BLK_CGROUP
13081
- Debug help. Right now some additional stats file show up in cgroup
13182
if this option is enabled.
13283

133-
CONFIG_CFQ_GROUP_IOSCHED
134-
- Enables group scheduling in CFQ. Currently only 1 level of group
135-
creation is allowed.
136-
13784
CONFIG_BLK_DEV_THROTTLING
13885
- Enable block device throttling support in block layer.
13986

@@ -344,32 +291,3 @@ Common files among various policies
344291
- blkio.reset_stats
345292
- Writing an int to this file will result in resetting all the stats
346293
for that cgroup.
347-
348-
CFQ sysfs tunable
349-
=================
350-
/sys/block/<disk>/queue/iosched/slice_idle
351-
------------------------------------------
352-
On a faster hardware CFQ can be slow, especially with sequential workload.
353-
This happens because CFQ idles on a single queue and single queue might not
354-
drive deeper request queue depths to keep the storage busy. In such scenarios
355-
one can try setting slice_idle=0 and that would switch CFQ to IOPS
356-
(IO operations per second) mode on NCQ supporting hardware.
357-
358-
That means CFQ will not idle between cfq queues of a cfq group and hence be
359-
able to driver higher queue depth and achieve better throughput. That also
360-
means that cfq provides fairness among groups in terms of IOPS and not in
361-
terms of disk time.
362-
363-
/sys/block/<disk>/queue/iosched/group_idle
364-
------------------------------------------
365-
If one disables idling on individual cfq queues and cfq service trees by
366-
setting slice_idle=0, group_idle kicks in. That means CFQ will still idle
367-
on the group in an attempt to provide fairness among groups.
368-
369-
By default group_idle is same as slice_idle and does not do anything if
370-
slice_idle is enabled.
371-
372-
One can experience an overall throughput drop if you have created multiple
373-
groups and put applications in that group which are not driving enough
374-
IO to keep disk busy. In that case set group_idle=0, and CFQ will not idle
375-
on individual groups and throughput should improve.

Documentation/cgroup-v1/hugetlb.txt

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,18 @@ Brief summary of control files
3232
hugetlb.<hugepagesize>.usage_in_bytes # show current usage for "hugepagesize" hugetlb
3333
hugetlb.<hugepagesize>.failcnt # show the number of allocation failure due to HugeTLB limit
3434

35-
For a system supporting two hugepage size (16M and 16G) the control
35+
For a system supporting three hugepage sizes (64k, 32M and 1G), the control
3636
files include:
3737

38-
hugetlb.16GB.limit_in_bytes
39-
hugetlb.16GB.max_usage_in_bytes
40-
hugetlb.16GB.usage_in_bytes
41-
hugetlb.16GB.failcnt
42-
hugetlb.16MB.limit_in_bytes
43-
hugetlb.16MB.max_usage_in_bytes
44-
hugetlb.16MB.usage_in_bytes
45-
hugetlb.16MB.failcnt
38+
hugetlb.1GB.limit_in_bytes
39+
hugetlb.1GB.max_usage_in_bytes
40+
hugetlb.1GB.usage_in_bytes
41+
hugetlb.1GB.failcnt
42+
hugetlb.64KB.limit_in_bytes
43+
hugetlb.64KB.max_usage_in_bytes
44+
hugetlb.64KB.usage_in_bytes
45+
hugetlb.64KB.failcnt
46+
hugetlb.32MB.limit_in_bytes
47+
hugetlb.32MB.max_usage_in_bytes
48+
hugetlb.32MB.usage_in_bytes
49+
hugetlb.32MB.failcnt

Documentation/filesystems/overlayfs.txt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,8 +336,20 @@ the copied layers will fail the verification of the lower root file handle.
336336
Non-standard behavior
337337
---------------------
338338

339-
Overlayfs can now act as a POSIX compliant filesystem with the following
340-
features turned on:
339+
Current version of overlayfs can act as a mostly POSIX compliant
340+
filesystem.
341+
342+
This is the list of cases that overlayfs doesn't currently handle:
343+
344+
a) POSIX mandates updating st_atime for reads. This is currently not
345+
done in the case when the file resides on a lower layer.
346+
347+
b) If a file residing on a lower layer is opened for read-only and then
348+
memory mapped with MAP_SHARED, then subsequent changes to the file are not
349+
reflected in the memory mapping.
350+
351+
The following options allow overlayfs to act more like a standards
352+
compliant filesystem:
341353

342354
1) "redirect_dir"
343355

MAINTAINERS

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13057,7 +13057,6 @@ F: Documentation/devicetree/bindings/net/qcom,dwmac.txt
1305713057

1305813058
QUALCOMM GENERIC INTERFACE I2C DRIVER
1305913059
M: Alok Chauhan <[email protected]>
13060-
M: Karthikeyan Ramasubramanian <[email protected]>
1306113060
1306213061
1306313062
S: Supported
@@ -14995,7 +14994,7 @@ S: Odd Fixes
1499514994
F: drivers/net/ethernet/adaptec/starfire*
1499614995

1499714996
STEC S1220 SKD DRIVER
14998-
M: Bart Van Assche <bart.vanassche@wdc.com>
14997+
M: Damien Le Moal <Damien.LeMoal@wdc.com>
1499914998
1500014999
S: Maintained
1500115000
F: drivers/block/skd*[ch]
@@ -17312,7 +17311,7 @@ F: Documentation/ABI/stable/sysfs-hypervisor-xen
1731217311
F: Documentation/ABI/testing/sysfs-hypervisor-xen
1731317312

1731417313
XEN NETWORK BACKEND DRIVER
17315-
M: Wei Liu <wei.[email protected]>
17314+
M: Wei Liu <wei.[email protected]>
1731617315
M: Paul Durrant <[email protected]>
1731717316
L: [email protected] (moderated for non-subscribers)
1731817317

Makefile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 5
33
PATCHLEVEL = 2
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc3
5+
EXTRAVERSION = -rc5
66
NAME = Golden Lions
77

88
# *DOCUMENTATION*
@@ -1228,9 +1228,8 @@ kselftest-clean:
12281228
PHONY += kselftest-merge
12291229
kselftest-merge:
12301230
$(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!))
1231-
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
1232-
-m $(objtree)/.config \
1233-
$(srctree)/tools/testing/selftests/*/config
1231+
$(Q)find $(srctree)/tools/testing/selftests -name config | \
1232+
xargs $(srctree)/scripts/kconfig/merge_config.sh -m $(objtree)/.config
12341233
+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
12351234

12361235
# ---------------------------------------------------------------------------

arch/alpha/include/asm/device.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
/* SPDX-License-Identifier: GPL-2.0-only */
12
/*
23
* Arch specific extensions to struct device
3-
*
4-
* This file is released under the GPLv2
54
*/
65
#include <asm-generic/device.h>
76

arch/alpha/kernel/srm_env.c

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* srm_env.c - Access to SRM environment
34
* variables through linux' procfs
@@ -9,23 +10,6 @@
910
* <[email protected]>. It is based on an idea
1011
* provided by DEC^WCompaq^WIntel's "Jumpstart" CD. They
1112
* included a patch like this as well. Thanks for idea!
12-
*
13-
* This program is free software; you can redistribute
14-
* it and/or modify it under the terms of the GNU General
15-
* Public License version 2 as published by the Free Software
16-
* Foundation.
17-
*
18-
* This program is distributed in the hope that it will be
19-
* useful, but WITHOUT ANY WARRANTY; without even the implied
20-
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
21-
* PURPOSE. See the GNU General Public License for more
22-
* details.
23-
*
24-
* You should have received a copy of the GNU General Public
25-
* License along with this program; if not, write to the
26-
* Free Software Foundation, Inc., 59 Temple Place,
27-
* Suite 330, Boston, MA 02111-1307 USA
28-
*
2913
*/
3014

3115
#include <linux/kernel.h>

arch/arc/boot/dts/abilis_tb100.dtsi

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,10 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* Abilis Systems TB100 SOC device tree
34
*
45
* Copyright (C) Abilis Systems 2013
56
*
67
* Author: Christian Ruppert <[email protected]>
7-
*
8-
* This program is free software; you can redistribute it and/or modify
9-
* it under the terms of the GNU General Public License version 2 as
10-
* published by the Free Software Foundation.
11-
*
12-
* This program is distributed in the hope that it will be useful,
13-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15-
* GNU General Public License for more details.
16-
*
17-
* You should have received a copy of the GNU General Public License
18-
* along with this program; if not, write to the Free Software
19-
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
208
*/
219

2210
/include/ "abilis_tb10x.dtsi"

arch/arc/boot/dts/abilis_tb100_dvk.dts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,10 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* Abilis Systems TB100 Development Kit PCB device tree
34
*
45
* Copyright (C) Abilis Systems 2013
56
*
67
* Author: Christian Ruppert <[email protected]>
7-
*
8-
* This program is free software; you can redistribute it and/or modify
9-
* it under the terms of the GNU General Public License version 2 as
10-
* published by the Free Software Foundation.
11-
*
12-
* This program is distributed in the hope that it will be useful,
13-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15-
* GNU General Public License for more details.
16-
*
17-
* You should have received a copy of the GNU General Public License
18-
* along with this program; if not, write to the Free Software
19-
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
208
*/
219

2210
/dts-v1/;

arch/arc/boot/dts/abilis_tb101.dtsi

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,10 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
12
/*
23
* Abilis Systems TB101 SOC device tree
34
*
45
* Copyright (C) Abilis Systems 2013
56
*
67
* Author: Christian Ruppert <[email protected]>
7-
*
8-
* This program is free software; you can redistribute it and/or modify
9-
* it under the terms of the GNU General Public License version 2 as
10-
* published by the Free Software Foundation.
11-
*
12-
* This program is distributed in the hope that it will be useful,
13-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15-
* GNU General Public License for more details.
16-
*
17-
* You should have received a copy of the GNU General Public License
18-
* along with this program; if not, write to the Free Software
19-
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
208
*/
219

2210
/include/ "abilis_tb10x.dtsi"

0 commit comments

Comments
 (0)