Skip to content

Commit 47cd95a

Browse files
author
Ingo Molnar
committed
Merge branch 'linus' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <[email protected]>
2 parents 9f6f941 + 883af14 commit 47cd95a

File tree

860 files changed

+8228
-5016
lines changed

Some content is hidden

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

860 files changed

+8228
-5016
lines changed

.mailmap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ Ricardo Ribalda Delgado <[email protected]>
137137
Rudolf Marek <[email protected]>
138138
Rui Saraiva <[email protected]>
139139
Sachin P Sant <[email protected]>
140+
Sarangdhar Joshi <[email protected]>
140141
Sam Ravnborg <[email protected]>
141142
Santosh Shilimkar <[email protected]>
142143
Santosh Shilimkar <[email protected]>
@@ -150,10 +151,13 @@ Shuah Khan <[email protected]> <[email protected]>
150151
Simon Kelley <[email protected]>
151152
Stéphane Witzmann <[email protected]>
152153
Stephen Hemminger <[email protected]>
154+
Subash Abhinov Kasiviswanathan <[email protected]>
155+
Subhash Jadavani <[email protected]>
153156
Sudeep Holla <[email protected]> Sudeep KarkadaNagesha <[email protected]>
154157
Sumit Semwal <[email protected]>
155158
Tejun Heo <[email protected]>
156159
Thomas Graf <[email protected]>
160+
Thomas Pedersen <[email protected]>
157161
Tony Luck <[email protected]>
158162
Tsuneo Yoshioka <[email protected]>
159163
Uwe Kleine-König <[email protected]>

Documentation/ABI/testing/sysfs-devices-deferred_probe

Lines changed: 0 additions & 12 deletions
This file was deleted.

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,16 @@
106106
use by PCI
107107
Format: <irq>,<irq>...
108108

109+
acpi_mask_gpe= [HW,ACPI]
110+
Due to the existence of _Lxx/_Exx, some GPEs triggered
111+
by unsupported hardware/firmware features can result in
112+
GPE floodings that cannot be automatically disabled by
113+
the GPE dispatcher.
114+
This facility can be used to prevent such uncontrolled
115+
GPE floodings.
116+
Format: <int>
117+
Support masking of GPEs numbered from 0x00 to 0x7f.
118+
109119
acpi_no_auto_serialize [HW,ACPI]
110120
Disable auto-serialization of AML methods
111121
AML control methods that contain the opcodes to create
@@ -3811,10 +3821,11 @@
38113821
it if 0 is given (See Documentation/cgroup-v1/memory.txt)
38123822

38133823
swiotlb= [ARM,IA-64,PPC,MIPS,X86]
3814-
Format: { <int> | force }
3824+
Format: { <int> | force | noforce }
38153825
<int> -- Number of I/O TLB slabs
38163826
force -- force using of bounce buffers even if they
38173827
wouldn't be automatically used by the kernel
3828+
noforce -- Never use bounce buffers (for debugging)
38183829

38193830
switches= [HW,M68k]
38203831

Documentation/block/queue-sysfs.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ This is the hardware sector size of the device, in bytes.
5454

5555
io_poll (RW)
5656
------------
57-
When read, this file shows the total number of block IO polls and how
58-
many returned success. Writing '0' to this file will disable polling
59-
for this device. Writing any non-zero value will enable this feature.
57+
When read, this file shows whether polling is enabled (1) or disabled
58+
(0). Writing '0' to this file will disable polling for this device.
59+
Writing any non-zero value will enable this feature.
6060

6161
io_poll_delay (RW)
6262
------------------

Documentation/devicetree/bindings/i2c/i2c.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ wants to support one of the below features, it should adapt the bindings below.
6262
"irq" and "wakeup" names are recognized by I2C core, other names are
6363
left to individual drivers.
6464

65+
- host-notify
66+
device uses SMBus host notify protocol instead of interrupt line.
67+
6568
- multi-master
6669
states that there is another master active on this bus. The OS can use
6770
this information to adapt power management to keep the arbitration awake
@@ -81,6 +84,11 @@ Binding may contain optional "interrupts" property, describing interrupts
8184
used by the device. I2C core will assign "irq" interrupt (or the very first
8285
interrupt if not using interrupt names) as primary interrupt for the slave.
8386

87+
Alternatively, devices supporting SMbus Host Notify, and connected to
88+
adapters that support this feature, may use "host-notify" property. I2C
89+
core will create a virtual interrupt for Host Notify and assign it as
90+
primary interrupt for the slave.
91+
8492
Also, if device is marked as a wakeup source, I2C core will set up "wakeup"
8593
interrupt for the device. If "wakeup" interrupt name is not present in the
8694
binding, then primary interrupt will be used as wakeup interrupt.

Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,17 @@ This driver provides a simple power button event via an Interrupt.
88
Required properties:
99
- compatible: should be "ti,tps65217-pwrbutton" or "ti,tps65218-pwrbutton"
1010

11-
Required properties for TPS65218:
11+
Required properties:
1212
- interrupts: should be one of the following
13+
- <2>: For controllers compatible with tps65217
1314
- <3 IRQ_TYPE_EDGE_BOTH>: For controllers compatible with tps65218
1415

1516
Examples:
1617

1718
&tps {
1819
tps65217-pwrbutton {
1920
compatible = "ti,tps65217-pwrbutton";
21+
interrupts = <2>;
2022
};
2123
};
2224

Documentation/devicetree/bindings/mtd/tango-nand.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Required properties:
55
- compatible: "sigma,smp8758-nand"
66
- reg: address/size of nfc_reg, nfc_mem, and pbus_reg
77
- dmas: reference to the DMA channel used by the controller
8-
- dma-names: "nfc_sbox"
8+
- dma-names: "rxtx"
99
- clocks: reference to the system clock
1010
- #address-cells: <1>
1111
- #size-cells: <0>
@@ -17,9 +17,9 @@ Example:
1717

1818
nandc: nand-controller@2c000 {
1919
compatible = "sigma,smp8758-nand";
20-
reg = <0x2c000 0x30 0x2d000 0x800 0x20000 0x1000>;
20+
reg = <0x2c000 0x30>, <0x2d000 0x800>, <0x20000 0x1000>;
2121
dmas = <&dma0 3>;
22-
dma-names = "nfc_sbox";
22+
dma-names = "rxtx";
2323
clocks = <&clkgen SYS_CLK>;
2424
#address-cells = <1>;
2525
#size-cells = <0>;

Documentation/devicetree/bindings/net/ti,dp83867.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
Required properties:
44
- reg - The ID number for the phy, usually a small integer
55
- ti,rx-internal-delay - RGMII Receive Clock Delay - see dt-bindings/net/ti-dp83867.h
6-
for applicable values
6+
for applicable values. Required only if interface type is
7+
PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_RXID
78
- ti,tx-internal-delay - RGMII Transmit Clock Delay - see dt-bindings/net/ti-dp83867.h
8-
for applicable values
9+
for applicable values. Required only if interface type is
10+
PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_TXID
911
- ti,fifo-depth - Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h
1012
for applicable values
1113

Documentation/devicetree/bindings/power/supply/tps65217_charger.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@ TPS65217 Charger
22

33
Required Properties:
44
-compatible: "ti,tps65217-charger"
5+
-interrupts: TPS65217 interrupt numbers for the AC and USB charger input change.
6+
Should be <0> for the USB charger and <1> for the AC adapter.
7+
-interrupt-names: Should be "USB" and "AC"
58

69
This node is a subnode of the tps65217 PMIC.
710

811
Example:
912

1013
tps65217-charger {
11-
compatible = "ti,tps65090-charger";
14+
compatible = "ti,tps65217-charger";
15+
interrupts = <0>, <1>;
16+
interrupt-names = "USB", "AC";
1217
};

Documentation/devicetree/bindings/spi/sh-msiof.txt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
Renesas MSIOF spi controller
22

33
Required properties:
4-
- compatible : "renesas,msiof-<soctype>" for SoCs,
5-
"renesas,sh-msiof" for SuperH, or
6-
"renesas,sh-mobile-msiof" for SH Mobile series.
7-
Examples with soctypes are:
8-
"renesas,msiof-r8a7790" (R-Car H2)
4+
- compatible : "renesas,msiof-r8a7790" (R-Car H2)
95
"renesas,msiof-r8a7791" (R-Car M2-W)
106
"renesas,msiof-r8a7792" (R-Car V2H)
117
"renesas,msiof-r8a7793" (R-Car M2-N)
128
"renesas,msiof-r8a7794" (R-Car E2)
139
"renesas,msiof-r8a7796" (R-Car M3-W)
1410
"renesas,msiof-sh73a0" (SH-Mobile AG5)
11+
"renesas,sh-mobile-msiof" (generic SH-Mobile compatibile device)
12+
"renesas,rcar-gen2-msiof" (generic R-Car Gen2 compatible device)
13+
"renesas,rcar-gen3-msiof" (generic R-Car Gen3 compatible device)
14+
"renesas,sh-msiof" (deprecated)
15+
16+
When compatible with the generic version, nodes
17+
must list the SoC-specific version corresponding
18+
to the platform first followed by the generic
19+
version.
20+
1521
- reg : A list of offsets and lengths of the register sets for
1622
the device.
1723
If only one register set is present, it is to be used
@@ -61,7 +67,8 @@ Documentation/devicetree/bindings/pinctrl/renesas,*.
6167
Example:
6268

6369
msiof0: spi@e6e20000 {
64-
compatible = "renesas,msiof-r8a7791";
70+
compatible = "renesas,msiof-r8a7791",
71+
"renesas,rcar-gen2-msiof";
6572
reg = <0 0xe6e20000 0 0x0064>;
6673
interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
6774
clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>;

Documentation/driver-api/infrastructure.rst

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,6 @@ Device Drivers DMA Management
5555
.. kernel-doc:: drivers/base/dma-mapping.c
5656
:export:
5757

58-
Device Drivers Power Management
59-
-------------------------------
60-
61-
.. kernel-doc:: drivers/base/power/main.c
62-
:export:
63-
64-
Device Drivers ACPI Support
65-
---------------------------
66-
67-
.. kernel-doc:: drivers/acpi/scan.c
68-
:export:
69-
70-
.. kernel-doc:: drivers/acpi/scan.c
71-
:internal:
72-
7358
Device drivers PnP support
7459
--------------------------
7560

Documentation/filesystems/proc.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,11 @@ asynchronous manner and the value may not be very precise. To see a precise
212212
snapshot of a moment, you can see /proc/<pid>/smaps file and scan page table.
213213
It's slow but very precise.
214214

215-
Table 1-2: Contents of the status files (as of 4.1)
215+
Table 1-2: Contents of the status files (as of 4.8)
216216
..............................................................................
217217
Field Content
218218
Name filename of the executable
219+
Umask file mode creation mask
219220
State state (R is running, S is sleeping, D is sleeping
220221
in an uninterruptible wait, Z is zombie,
221222
T is traced or stopped)
@@ -226,7 +227,6 @@ Table 1-2: Contents of the status files (as of 4.1)
226227
TracerPid PID of process tracing this process (0 if not)
227228
Uid Real, effective, saved set, and file system UIDs
228229
Gid Real, effective, saved set, and file system GIDs
229-
Umask file mode creation mask
230230
FDSize number of file descriptor slots currently allocated
231231
Groups supplementary group list
232232
NStgid descendant namespace thread group ID hierarchy
@@ -236,6 +236,7 @@ Table 1-2: Contents of the status files (as of 4.1)
236236
VmPeak peak virtual memory size
237237
VmSize total program size
238238
VmLck locked memory size
239+
VmPin pinned memory size
239240
VmHWM peak resident set size ("high water mark")
240241
VmRSS size of memory portions. It contains the three
241242
following parts (VmRSS = RssAnon + RssFile + RssShmem)

Documentation/networking/mpls-sysctl.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ platform_labels - INTEGER
55
possible to configure forwarding for label values equal to or
66
greater than the number of platform labels.
77

8-
A dense utliziation of the entries in the platform label table
9-
is possible and expected aas the platform labels are locally
8+
A dense utilization of the entries in the platform label table
9+
is possible and expected as the platform labels are locally
1010
allocated.
1111

1212
If the number of platform label table entries is set to 0 no

Documentation/vfio-mediated-device.txt

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,22 +127,22 @@ the VFIO when devices are unbound from the driver.
127127
Physical Device Driver Interface
128128
--------------------------------
129129

130-
The physical device driver interface provides the parent_ops[3] structure to
131-
define the APIs to manage work in the mediated core driver that is related to
132-
the physical device.
130+
The physical device driver interface provides the mdev_parent_ops[3] structure
131+
to define the APIs to manage work in the mediated core driver that is related
132+
to the physical device.
133133

134-
The structures in the parent_ops structure are as follows:
134+
The structures in the mdev_parent_ops structure are as follows:
135135

136136
* dev_attr_groups: attributes of the parent device
137137
* mdev_attr_groups: attributes of the mediated device
138138
* supported_config: attributes to define supported configurations
139139

140-
The functions in the parent_ops structure are as follows:
140+
The functions in the mdev_parent_ops structure are as follows:
141141

142142
* create: allocate basic resources in a driver for a mediated device
143143
* remove: free resources in a driver when a mediated device is destroyed
144144

145-
The callbacks in the parent_ops structure are as follows:
145+
The callbacks in the mdev_parent_ops structure are as follows:
146146

147147
* open: open callback of mediated device
148148
* close: close callback of mediated device
@@ -151,14 +151,14 @@ The callbacks in the parent_ops structure are as follows:
151151
* write: write emulation callback
152152
* mmap: mmap emulation callback
153153

154-
A driver should use the parent_ops structure in the function call to register
155-
itself with the mdev core driver:
154+
A driver should use the mdev_parent_ops structure in the function call to
155+
register itself with the mdev core driver:
156156

157157
extern int mdev_register_device(struct device *dev,
158-
const struct parent_ops *ops);
158+
const struct mdev_parent_ops *ops);
159159

160-
However, the parent_ops structure is not required in the function call that a
161-
driver should use to unregister itself with the mdev core driver:
160+
However, the mdev_parent_ops structure is not required in the function call
161+
that a driver should use to unregister itself with the mdev core driver:
162162

163163
extern void mdev_unregister_device(struct device *dev);
164164

@@ -223,6 +223,9 @@ Directories and files under the sysfs for Each Physical Device
223223

224224
sprintf(buf, "%s-%s", dev_driver_string(parent->dev), group->name);
225225

226+
(or using mdev_parent_dev(mdev) to arrive at the parent device outside
227+
of the core mdev code)
228+
226229
* device_api
227230

228231
This attribute should show which device API is being created, for example,
@@ -394,5 +397,5 @@ References
394397

395398
[1] See Documentation/vfio.txt for more information on VFIO.
396399
[2] struct mdev_driver in include/linux/mdev.h
397-
[3] struct parent_ops in include/linux/mdev.h
400+
[3] struct mdev_parent_ops in include/linux/mdev.h
398401
[4] struct vfio_iommu_driver_ops in include/linux/vfio.h

Documentation/vm/page_frags

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
Page fragments
2+
--------------
3+
4+
A page fragment is an arbitrary-length arbitrary-offset area of memory
5+
which resides within a 0 or higher order compound page. Multiple
6+
fragments within that page are individually refcounted, in the page's
7+
reference counter.
8+
9+
The page_frag functions, page_frag_alloc and page_frag_free, provide a
10+
simple allocation framework for page fragments. This is used by the
11+
network stack and network device drivers to provide a backing region of
12+
memory for use as either an sk_buff->head, or to be used in the "frags"
13+
portion of skb_shared_info.
14+
15+
In order to make use of the page fragment APIs a backing page fragment
16+
cache is needed. This provides a central point for the fragment allocation
17+
and tracks allows multiple calls to make use of a cached page. The
18+
advantage to doing this is that multiple calls to get_page can be avoided
19+
which can be expensive at allocation time. However due to the nature of
20+
this caching it is required that any calls to the cache be protected by
21+
either a per-cpu limitation, or a per-cpu limitation and forcing interrupts
22+
to be disabled when executing the fragment allocation.
23+
24+
The network stack uses two separate caches per CPU to handle fragment
25+
allocation. The netdev_alloc_cache is used by callers making use of the
26+
__netdev_alloc_frag and __netdev_alloc_skb calls. The napi_alloc_cache is
27+
used by callers of the __napi_alloc_frag and __napi_alloc_skb calls. The
28+
main difference between these two calls is the context in which they may be
29+
called. The "netdev" prefixed functions are usable in any context as these
30+
functions will disable interrupts, while the "napi" prefixed functions are
31+
only usable within the softirq context.
32+
33+
Many network device drivers use a similar methodology for allocating page
34+
fragments, but the page fragments are cached at the ring or descriptor
35+
level. In order to enable these cases it is necessary to provide a generic
36+
way of tearing down a page cache. For this reason __page_frag_cache_drain
37+
was implemented. It allows for freeing multiple references from a single
38+
page via a single call. The advantage to doing this is that it allows for
39+
cleaning up the multiple references that were added to a page in order to
40+
avoid calling get_page per allocation.
41+
42+
Alexander Duyck, Nov 29, 2016.

0 commit comments

Comments
 (0)