Skip to content

Commit 2cc5384

Browse files
author
Ingo Molnar
committed
Merge branch 'perf/urgent' into perf/core, to pick up fixed and resolve conflicts
Conflicts: kernel/events/core.c Signed-off-by: Ingo Molnar <[email protected]>
2 parents 36e674a + 5876314 commit 2cc5384

File tree

792 files changed

+8737
-4545
lines changed

Some content is hidden

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

792 files changed

+8737
-4545
lines changed

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ Valdis Kletnieks <[email protected]>
158158
159159
160160
161+
162+
161163
Takashi YOSHII <[email protected]>
162164
Yusuke Goda <[email protected]>
163165
Gustavo Padovan <[email protected]>

Documentation/ABI/stable/sysfs-devices

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Note: This documents additional properties of any device beyond what
22
# is documented in Documentation/sysfs-rules.txt
33

4-
What: /sys/devices/*/of_path
4+
What: /sys/devices/*/of_node
55
Date: February 2015
66
Contact: Device Tree mailing list <[email protected]>
77
Description:

Documentation/PCI/MSI-HOWTO.txt

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,11 @@ has a requirements for a minimum number of vectors the driver can pass a
9494
min_vecs argument set to this limit, and the PCI core will return -ENOSPC
9595
if it can't meet the minimum number of vectors.
9696

97-
The flags argument should normally be set to 0, but can be used to pass the
98-
PCI_IRQ_NOMSI and PCI_IRQ_NOMSIX flag in case a device claims to support
99-
MSI or MSI-X, but the support is broken, or to pass PCI_IRQ_NOLEGACY in
100-
case the device does not support legacy interrupt lines.
101-
102-
By default this function will spread the interrupts around the available
103-
CPUs, but this feature can be disabled by passing the PCI_IRQ_NOAFFINITY
104-
flag.
97+
The flags argument is used to specify which type of interrupt can be used
98+
by the device and the driver (PCI_IRQ_LEGACY, PCI_IRQ_MSI, PCI_IRQ_MSIX).
99+
A convenient short-hand (PCI_IRQ_ALL_TYPES) is also available to ask for
100+
any possible kind of interrupt. If the PCI_IRQ_AFFINITY flag is set,
101+
pci_alloc_irq_vectors() will spread the interrupts around the available CPUs.
105102

106103
To get the Linux IRQ numbers passed to request_irq() and free_irq() and the
107104
vectors, use the following function:
@@ -131,7 +128,7 @@ larger than the number supported by the device it will automatically be
131128
capped to the supported limit, so there is no need to query the number of
132129
vectors supported beforehand:
133130

134-
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, 0);
131+
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_ALL_TYPES)
135132
if (nvec < 0)
136133
goto out_err;
137134

@@ -140,23 +137,22 @@ interrupts it can request a particular number of interrupts by passing that
140137
number to pci_alloc_irq_vectors() function as both 'min_vecs' and
141138
'max_vecs' parameters:
142139

143-
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, 0);
140+
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_ALL_TYPES);
144141
if (ret < 0)
145142
goto out_err;
146143

147144
The most notorious example of the request type described above is enabling
148145
the single MSI mode for a device. It could be done by passing two 1s as
149146
'min_vecs' and 'max_vecs':
150147

151-
ret = pci_alloc_irq_vectors(pdev, 1, 1, 0);
148+
ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
152149
if (ret < 0)
153150
goto out_err;
154151

155152
Some devices might not support using legacy line interrupts, in which case
156-
the PCI_IRQ_NOLEGACY flag can be used to fail the request if the platform
157-
can't provide MSI or MSI-X interrupts:
153+
the driver can specify that only MSI or MSI-X is acceptable:
158154

159-
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_NOLEGACY);
155+
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX);
160156
if (nvec < 0)
161157
goto out_err;
162158

Documentation/PCI/pci.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ initialization with a pointer to a structure describing the driver
124124

125125
The ID table is an array of struct pci_device_id entries ending with an
126126
all-zero entry. Definitions with static const are generally preferred.
127-
Use of the deprecated macro DEFINE_PCI_DEVICE_TABLE should be avoided.
128127

129128
Each entry consists of:
130129

Documentation/arm64/silicon-errata.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ stable kernels.
5353
| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
5454
| ARM | Cortex-A57 | #852523 | N/A |
5555
| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
56+
| ARM | Cortex-A72 | #853709 | N/A |
5657
| ARM | MMU-500 | #841119,#826419 | N/A |
5758
| | | | |
5859
| Cavium | ThunderX ITS | #22375, #24313 | CAVIUM_ERRATUM_22375 |

Documentation/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
todo_include_todos = False
132132

133133
primary_domain = 'C'
134-
highlight_language = 'C'
134+
highlight_language = 'guess'
135135

136136
# -- Options for HTML output ----------------------------------------------
137137

Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,20 @@ Required properties:
1616
- vref-supply: The regulator supply ADC reference voltage.
1717
- #io-channel-cells: Should be 1, see ../iio-bindings.txt
1818

19+
Optional properties:
20+
- resets: Must contain an entry for each entry in reset-names if need support
21+
this option. See ../reset/reset.txt for details.
22+
- reset-names: Must include the name "saradc-apb".
23+
1924
Example:
2025
saradc: saradc@2006c000 {
2126
compatible = "rockchip,saradc";
2227
reg = <0x2006c000 0x100>;
2328
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
2429
clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
2530
clock-names = "saradc", "apb_pclk";
31+
resets = <&cru SRST_SARADC>;
32+
reset-names = "saradc-apb";
2633
#io-channel-cells = <1>;
2734
vref-supply = <&vcc18>;
2835
};

Documentation/devicetree/bindings/serial/8250.txt

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ Optional properties:
4242
- auto-flow-control: one way to enable automatic flow control support. The
4343
driver is allowed to detect support for the capability even without this
4444
property.
45-
- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
46-
line respectively. It will use specified GPIO instead of the peripheral
47-
function pin for the UART feature. If unsure, don't specify this property.
4845

4946
Note:
5047
* fsl,ns16550:
@@ -66,19 +63,3 @@ Example:
6663
interrupts = <10>;
6764
reg-shift = <2>;
6865
};
69-
70-
Example for OMAP UART using GPIO-based modem control signals:
71-
72-
uart4: serial@49042000 {
73-
compatible = "ti,omap3-uart";
74-
reg = <0x49042000 0x400>;
75-
interrupts = <80>;
76-
ti,hwmods = "uart4";
77-
clock-frequency = <48000000>;
78-
cts-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>;
79-
rts-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
80-
dtr-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
81-
dsr-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
82-
dcd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
83-
rng-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
84-
};

Documentation/devicetree/bindings/sound/omap-mcpdm.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ Required properties:
88
- interrupts: Interrupt number for McPDM
99
- interrupt-parent: The parent interrupt controller
1010
- ti,hwmods: Name of the hwmod associated to the McPDM
11-
- clocks: phandle for the pdmclk provider, likely <&twl6040>
12-
- clock-names: Must be "pdmclk"
1311

1412
Example:
1513

@@ -21,11 +19,3 @@ mcpdm: mcpdm@40132000 {
2119
interrupt-parent = <&gic>;
2220
ti,hwmods = "mcpdm";
2321
};
24-
25-
In board DTS file the pdmclk needs to be added:
26-
27-
&mcpdm {
28-
clocks = <&twl6040>;
29-
clock-names = "pdmclk";
30-
status = "okay";
31-
};

Documentation/devicetree/bindings/thermal/thermal.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ For more examples of cooling devices, refer to the example sections below.
6262
Required properties:
6363
- #cooling-cells: Used to provide cooling device specific information
6464
Type: unsigned while referring to it. Must be at least 2, in order
65-
Size: one cell to specify minimum and maximum cooling state used
65+
Size: one cell to specify minimum and maximum cooling state used
6666
in the reference. The first cell is the minimum
6767
cooling state requested and the second cell is
6868
the maximum cooling state requested in the reference.
@@ -119,7 +119,7 @@ Required properties:
119119
Optional property:
120120
- contribution: The cooling contribution to the thermal zone of the
121121
Type: unsigned referred cooling device at the referred trip point.
122-
Size: one cell The contribution is a ratio of the sum
122+
Size: one cell The contribution is a ratio of the sum
123123
of all cooling contributions within a thermal zone.
124124

125125
Note: Using the THERMAL_NO_LIMIT (-1UL) constant in the cooling-device phandle
@@ -145,7 +145,7 @@ Required properties:
145145
Size: one cell
146146

147147
- thermal-sensors: A list of thermal sensor phandles and sensor specifier
148-
Type: list of used while monitoring the thermal zone.
148+
Type: list of used while monitoring the thermal zone.
149149
phandles + sensor
150150
specifier
151151

@@ -473,7 +473,7 @@ thermal-zones {
473473
<&adc>; /* pcb north */
474474

475475
/* hotspot = 100 * bandgap - 120 * adc + 484 */
476-
coefficients = <100 -120 484>;
476+
coefficients = <100 -120 484>;
477477

478478
trips {
479479
...
@@ -502,7 +502,7 @@ from the ADC sensor. The binding would be then:
502502
thermal-sensors = <&adc>;
503503

504504
/* hotspot = 1 * adc + 6000 */
505-
coefficients = <1 6000>;
505+
coefficients = <1 6000>;
506506

507507
(d) - Board thermal
508508

Documentation/filesystems/overlayfs.txt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,10 @@ The copy_up operation essentially creates a new, identical file and
183183
moves it over to the old name. The new file may be on a different
184184
filesystem, so both st_dev and st_ino of the file may change.
185185

186-
Any open files referring to this inode will access the old data and
187-
metadata. Similarly any file locks obtained before copy_up will not
188-
apply to the copied up file.
186+
Any open files referring to this inode will access the old data.
189187

190-
On a file opened with O_RDONLY fchmod(2), fchown(2), futimesat(2) and
191-
fsetxattr(2) will fail with EROFS.
188+
Any file locks (and leases) obtained before copy_up will not apply
189+
to the copied up file.
192190

193191
If a file with multiple hard links is copied up, then this will
194192
"break" the link. Changes will not be propagated to other names

Documentation/hwmon/ftsteutates

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ enhancements. It can monitor up to 4 voltages, 16 temperatures and
1919
implemented in this driver.
2020

2121
Specification of the chip can be found here:
22-
ftp:///pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
23-
ftp:///pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf
22+
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
23+
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf

Documentation/kernel-documentation.rst

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -366,8 +366,6 @@ Domain`_ references.
366366
Cross-referencing from reStructuredText
367367
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
368368

369-
.. highlight:: none
370-
371369
To cross-reference the functions and types defined in the kernel-doc comments
372370
from reStructuredText documents, please use the `Sphinx C Domain`_
373371
references. For example::
@@ -390,8 +388,6 @@ For further details, please refer to the `Sphinx C Domain`_ documentation.
390388
Function documentation
391389
----------------------
392390

393-
.. highlight:: c
394-
395391
The general format of a function and function-like macro kernel-doc comment is::
396392

397393
/**
@@ -572,8 +568,6 @@ DocBook XML [DEPRECATED]
572568
Converting DocBook to Sphinx
573569
----------------------------
574570

575-
.. highlight:: none
576-
577571
Over time, we expect all of the documents under ``Documentation/DocBook`` to be
578572
converted to Sphinx and reStructuredText. For most DocBook XML documents, a good
579573
enough solution is to use the simple ``Documentation/sphinx/tmplcvt`` script,

Documentation/kernel-parameters.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3032,6 +3032,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
30323032
PAGE_SIZE is used as alignment.
30333033
PCI-PCI bridge can be specified, if resource
30343034
windows need to be expanded.
3035+
To specify the alignment for several
3036+
instances of a device, the PCI vendor,
3037+
device, subvendor, and subdevice may be
3038+
specified, e.g., 4096@pci:8086:9c22:103c:198f
30353039
ecrc= Enable/disable PCIe ECRC (transaction layer
30363040
end-to-end CRC checking).
30373041
bios: Use BIOS/firmware settings. This is the

Documentation/networking/dsa/dsa.txt

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -587,26 +587,6 @@ of DSA, would be the its port-based VLAN, used by the associated bridge device.
587587
TODO
588588
====
589589

590-
The platform device problem
591-
---------------------------
592-
DSA is currently implemented as a platform device driver which is far from ideal
593-
as was discussed in this thread:
594-
595-
http://permalink.gmane.org/gmane.linux.network/329848
596-
597-
This basically prevents the device driver model to be properly used and applied,
598-
and support non-MDIO, non-MMIO Ethernet connected switches.
599-
600-
Another problem with the platform device driver approach is that it prevents the
601-
use of a modular switch drivers build due to a circular dependency, illustrated
602-
here:
603-
604-
http://comments.gmane.org/gmane.linux.network/345803
605-
606-
Attempts of reworking this has been done here:
607-
608-
https://lwn.net/Articles/643149/
609-
610590
Making SWITCHDEV and DSA converge towards an unified codebase
611591
-------------------------------------------------------------
612592

Documentation/networking/rxrpc.txt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -790,13 +790,12 @@ The kernel interface functions are as follows:
790790
Data messages can have their contents extracted with the usual bunch of
791791
socket buffer manipulation functions. A data message can be determined to
792792
be the last one in a sequence with rxrpc_kernel_is_data_last(). When a
793-
data message has been used up, rxrpc_kernel_data_delivered() should be
794-
called on it..
793+
data message has been used up, rxrpc_kernel_data_consumed() should be
794+
called on it.
795795

796-
Non-data messages should be handled to rxrpc_kernel_free_skb() to dispose
797-
of. It is possible to get extra refs on all types of message for later
798-
freeing, but this may pin the state of a call until the message is finally
799-
freed.
796+
Messages should be handled to rxrpc_kernel_free_skb() to dispose of. It
797+
is possible to get extra refs on all types of message for later freeing,
798+
but this may pin the state of a call until the message is finally freed.
800799

801800
(*) Accept an incoming call.
802801

@@ -821,12 +820,14 @@ The kernel interface functions are as follows:
821820
Other errors may be returned if the call had been aborted (-ECONNABORTED)
822821
or had timed out (-ETIME).
823822

824-
(*) Record the delivery of a data message and free it.
823+
(*) Record the delivery of a data message.
825824

826-
void rxrpc_kernel_data_delivered(struct sk_buff *skb);
825+
void rxrpc_kernel_data_consumed(struct rxrpc_call *call,
826+
struct sk_buff *skb);
827827

828-
This is used to record a data message as having been delivered and to
829-
update the ACK state for the call. The socket buffer will be freed.
828+
This is used to record a data message as having been consumed and to
829+
update the ACK state for the call. The message must still be passed to
830+
rxrpc_kernel_free_skb() for disposal by the caller.
830831

831832
(*) Free a message.
832833

Documentation/power/basic-pm-debugging.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,32 @@ load n/2 modules more and try again.
164164
Again, if you find the offending module(s), it(they) must be unloaded every time
165165
before hibernation, and please report the problem with it(them).
166166

167-
c) Advanced debugging
167+
c) Using the "test_resume" hibernation option
168+
169+
/sys/power/disk generally tells the kernel what to do after creating a
170+
hibernation image. One of the available options is "test_resume" which
171+
causes the just created image to be used for immediate restoration. Namely,
172+
after doing:
173+
174+
# echo test_resume > /sys/power/disk
175+
# echo disk > /sys/power/state
176+
177+
a hibernation image will be created and a resume from it will be triggered
178+
immediately without involving the platform firmware in any way.
179+
180+
That test can be used to check if failures to resume from hibernation are
181+
related to bad interactions with the platform firmware. That is, if the above
182+
works every time, but resume from actual hibernation does not work or is
183+
unreliable, the platform firmware may be responsible for the failures.
184+
185+
On architectures and platforms that support using different kernels to restore
186+
hibernation images (that is, the kernel used to read the image from storage and
187+
load it into memory is different from the one included in the image) or support
188+
kernel address space randomization, it also can be used to check if failures
189+
to resume may be related to the differences between the restore and image
190+
kernels.
191+
192+
d) Advanced debugging
168193

169194
In case that hibernation does not work on your system even in the minimal
170195
configuration and compiling more drivers as modules is not practical or some

0 commit comments

Comments
 (0)