Skip to content

Commit fc4c5a3

Browse files
author
Ingo Molnar
committed
Merge branch 'linus' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2 parents 14a7405 + 1b88acc commit fc4c5a3

File tree

863 files changed

+7821
-4491
lines changed

Some content is hidden

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

863 files changed

+7821
-4491
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,7 @@ all.config
127127

128128
# Kdevelop4
129129
*.kdev4
130+
131+
#Automatically generated by ASN.1 compiler
132+
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.c
133+
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.h

Documentation/PCI/pci.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,9 @@ your driver if they're helpful, or just use plain hex constants.
570570
The device IDs are arbitrary hex numbers (vendor controlled) and normally used
571571
only in a single location, the pci_device_id table.
572572

573-
Please DO submit new vendor/device IDs to http://pciids.sourceforge.net/.
573+
Please DO submit new vendor/device IDs to http://pci-ids.ucw.cz/.
574+
There are mirrors of the pci.ids file at http://pciids.sourceforge.net/
575+
and https://github.com/pciutils/pciids.
574576

575577

576578

Documentation/devicetree/bindings/eeprom/at24.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ Required properties:
3838

3939
"catalyst",
4040
"microchip",
41+
"nxp",
4142
"ramtron",
4243
"renesas",
43-
"nxp",
4444
"st",
4545

4646
Some vendors use different model names for chips which are just

Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Required properties:
1414
- "renesas,irqc-r8a7794" (R-Car E2)
1515
- "renesas,intc-ex-r8a7795" (R-Car H3)
1616
- "renesas,intc-ex-r8a7796" (R-Car M3-W)
17+
- "renesas,intc-ex-r8a77965" (R-Car M3-N)
1718
- "renesas,intc-ex-r8a77970" (R-Car V3M)
1819
- "renesas,intc-ex-r8a77995" (R-Car D3)
1920
- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in

Documentation/devicetree/bindings/net/renesas,ravb.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Required properties:
1818
- "renesas,etheravb-r8a7795" for the R8A7795 SoC.
1919
- "renesas,etheravb-r8a7796" for the R8A7796 SoC.
2020
- "renesas,etheravb-r8a77970" for the R8A77970 SoC.
21+
- "renesas,etheravb-r8a77980" for the R8A77980 SoC.
2122
- "renesas,etheravb-r8a77995" for the R8A77995 SoC.
2223
- "renesas,etheravb-rcar-gen3" as a fallback for the above
2324
R-Car Gen3 devices.

Documentation/devicetree/bindings/power/wakeup-source.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Examples
6060
#size-cells = <0>;
6161

6262
button@1 {
63-
debounce_interval = <50>;
63+
debounce-interval = <50>;
6464
wakeup-source;
6565
linux,code = <116>;
6666
label = "POWER";

Documentation/devicetree/bindings/thermal/imx-thermal.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,32 @@ Optional properties:
2222
- clocks : thermal sensor's clock source.
2323

2424
Example:
25+
ocotp: ocotp@21bc000 {
26+
#address-cells = <1>;
27+
#size-cells = <1>;
28+
compatible = "fsl,imx6sx-ocotp", "syscon";
29+
reg = <0x021bc000 0x4000>;
30+
clocks = <&clks IMX6SX_CLK_OCOTP>;
2531

32+
tempmon_calib: calib@38 {
33+
reg = <0x38 4>;
34+
};
35+
36+
tempmon_temp_grade: temp-grade@20 {
37+
reg = <0x20 4>;
38+
};
39+
};
40+
41+
tempmon: tempmon {
42+
compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon";
43+
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
44+
fsl,tempmon = <&anatop>;
45+
nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
46+
nvmem-cell-names = "calib", "temp_grade";
47+
clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
48+
};
49+
50+
Legacy method (Deprecated):
2651
tempmon {
2752
compatible = "fsl,imx6q-tempmon";
2853
fsl,tempmon = <&anatop>;

Documentation/gpu/tve200.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
==================================
44

55
.. kernel-doc:: drivers/gpu/drm/tve200/tve200_drv.c
6-
:doc: Faraday TV Encoder 200
6+
:doc: Faraday TV Encoder TVE200 DRM Driver

Documentation/i2c/busses/i2c-i801

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ Supported adapters:
2828
* Intel Wildcat Point (PCH)
2929
* Intel Wildcat Point-LP (PCH)
3030
* Intel BayTrail (SOC)
31+
* Intel Braswell (SOC)
3132
* Intel Sunrise Point-H (PCH)
3233
* Intel Sunrise Point-LP (PCH)
34+
* Intel Kaby Lake-H (PCH)
3335
* Intel DNV (SOC)
3436
* Intel Broxton (SOC)
3537
* Intel Lewisburg (PCH)

Documentation/ia64/serial.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ TROUBLESHOOTING SERIAL CONSOLE PROBLEMS
111111

112112
- If you don't have an HCDP, the kernel doesn't know where
113113
your console lives until the driver discovers serial
114-
devices. Use "console=uart, io,0x3f8" (or appropriate
114+
devices. Use "console=uart,io,0x3f8" (or appropriate
115115
address for your machine).
116116

117117
Kernel and init script output works fine, but no "login:" prompt:

Documentation/media/dmx.h.rst.exceptions

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,15 @@ replace typedef dmx_filter_t :c:type:`dmx_filter`
5050
replace typedef dmx_pes_type_t :c:type:`dmx_pes_type`
5151
replace typedef dmx_input_t :c:type:`dmx_input`
5252

53-
ignore symbol DMX_OUT_DECODER
54-
ignore symbol DMX_OUT_TAP
55-
ignore symbol DMX_OUT_TS_TAP
56-
ignore symbol DMX_OUT_TSDEMUX_TAP
53+
replace symbol DMX_BUFFER_FLAG_HAD_CRC32_DISCARD :c:type:`dmx_buffer_flags`
54+
replace symbol DMX_BUFFER_FLAG_TEI :c:type:`dmx_buffer_flags`
55+
replace symbol DMX_BUFFER_PKT_COUNTER_MISMATCH :c:type:`dmx_buffer_flags`
56+
replace symbol DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED :c:type:`dmx_buffer_flags`
57+
replace symbol DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR :c:type:`dmx_buffer_flags`
58+
59+
replace symbol DMX_OUT_DECODER :c:type:`dmx_output`
60+
replace symbol DMX_OUT_TAP :c:type:`dmx_output`
61+
replace symbol DMX_OUT_TS_TAP :c:type:`dmx_output`
62+
replace symbol DMX_OUT_TSDEMUX_TAP :c:type:`dmx_output`
5763

5864
replace ioctl DMX_DQBUF dmx_qbuf

Documentation/media/uapi/dvb/dmx-qbuf.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ out to disk. Buffers remain locked until dequeued, until the
5151
the device is closed.
5252
5353
Applications call the ``DMX_DQBUF`` ioctl to dequeue a filled
54-
(capturing) buffer from the driver's outgoing queue. They just set the ``reserved`` field array to zero. When ``DMX_DQBUF`` is called with a
55-
pointer to this structure, the driver fills the remaining fields or
56-
returns an error code.
54+
(capturing) buffer from the driver's outgoing queue.
55+
They just set the ``index`` field withe the buffer ID to be queued.
56+
When ``DMX_DQBUF`` is called with a pointer to struct :c:type:`dmx_buffer`,
57+
the driver fills the remaining fields or returns an error code.
5758
5859
By default ``DMX_DQBUF`` blocks when no buffer is in the outgoing
5960
queue. When the ``O_NONBLOCK`` flag was given to the

Documentation/networking/segmentation-offloads.txt

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ The following technologies are described:
1313
* Generic Segmentation Offload - GSO
1414
* Generic Receive Offload - GRO
1515
* Partial Generic Segmentation Offload - GSO_PARTIAL
16+
* SCTP accelleration with GSO - GSO_BY_FRAGS
1617

1718
TCP Segmentation Offload
1819
========================
@@ -49,6 +50,10 @@ datagram into multiple IPv4 fragments. Many of the requirements for UDP
4950
fragmentation offload are the same as TSO. However the IPv4 ID for
5051
fragments should not increment as a single IPv4 datagram is fragmented.
5152

53+
UFO is deprecated: modern kernels will no longer generate UFO skbs, but can
54+
still receive them from tuntap and similar devices. Offload of UDP-based
55+
tunnel protocols is still supported.
56+
5257
IPIP, SIT, GRE, UDP Tunnel, and Remote Checksum Offloads
5358
========================================================
5459

@@ -83,10 +88,10 @@ SKB_GSO_UDP_TUNNEL_CSUM. These two additional tunnel types reflect the
8388
fact that the outer header also requests to have a non-zero checksum
8489
included in the outer header.
8590

86-
Finally there is SKB_GSO_REMCSUM which indicates that a given tunnel header
87-
has requested a remote checksum offload. In this case the inner headers
88-
will be left with a partial checksum and only the outer header checksum
89-
will be computed.
91+
Finally there is SKB_GSO_TUNNEL_REMCSUM which indicates that a given tunnel
92+
header has requested a remote checksum offload. In this case the inner
93+
headers will be left with a partial checksum and only the outer header
94+
checksum will be computed.
9095

9196
Generic Segmentation Offload
9297
============================
@@ -128,3 +133,28 @@ values for if the header was simply duplicated. The one exception to this
128133
is the outer IPv4 ID field. It is up to the device drivers to guarantee
129134
that the IPv4 ID field is incremented in the case that a given header does
130135
not have the DF bit set.
136+
137+
SCTP accelleration with GSO
138+
===========================
139+
140+
SCTP - despite the lack of hardware support - can still take advantage of
141+
GSO to pass one large packet through the network stack, rather than
142+
multiple small packets.
143+
144+
This requires a different approach to other offloads, as SCTP packets
145+
cannot be just segmented to (P)MTU. Rather, the chunks must be contained in
146+
IP segments, padding respected. So unlike regular GSO, SCTP can't just
147+
generate a big skb, set gso_size to the fragmentation point and deliver it
148+
to IP layer.
149+
150+
Instead, the SCTP protocol layer builds an skb with the segments correctly
151+
padded and stored as chained skbs, and skb_segment() splits based on those.
152+
To signal this, gso_size is set to the special value GSO_BY_FRAGS.
153+
154+
Therefore, any code in the core networking stack must be aware of the
155+
possibility that gso_size will be GSO_BY_FRAGS and handle that case
156+
appropriately. (For size checks, the skb_gso_validate_*_len family of
157+
helpers do this automatically.)
158+
159+
This also affects drivers with the NETIF_F_FRAGLIST & NETIF_F_GSO_SCTP bits
160+
set. Note also that NETIF_F_GSO_SCTP is included in NETIF_F_GSO_SOFTWARE.

Documentation/virtual/kvm/api.txt

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,15 @@ memory layout to fit in user mode), check KVM_CAP_MIPS_VZ and use the
123123
flag KVM_VM_MIPS_VZ.
124124

125125

126-
4.3 KVM_GET_MSR_INDEX_LIST
126+
4.3 KVM_GET_MSR_INDEX_LIST, KVM_GET_MSR_FEATURE_INDEX_LIST
127127

128-
Capability: basic
128+
Capability: basic, KVM_CAP_GET_MSR_FEATURES for KVM_GET_MSR_FEATURE_INDEX_LIST
129129
Architectures: x86
130-
Type: system
130+
Type: system ioctl
131131
Parameters: struct kvm_msr_list (in/out)
132132
Returns: 0 on success; -1 on error
133133
Errors:
134+
EFAULT: the msr index list cannot be read from or written to
134135
E2BIG: the msr index list is to be to fit in the array specified by
135136
the user.
136137

@@ -139,16 +140,23 @@ struct kvm_msr_list {
139140
__u32 indices[0];
140141
};
141142

142-
This ioctl returns the guest msrs that are supported. The list varies
143-
by kvm version and host processor, but does not change otherwise. The
144-
user fills in the size of the indices array in nmsrs, and in return
145-
kvm adjusts nmsrs to reflect the actual number of msrs and fills in
146-
the indices array with their numbers.
143+
The user fills in the size of the indices array in nmsrs, and in return
144+
kvm adjusts nmsrs to reflect the actual number of msrs and fills in the
145+
indices array with their numbers.
146+
147+
KVM_GET_MSR_INDEX_LIST returns the guest msrs that are supported. The list
148+
varies by kvm version and host processor, but does not change otherwise.
147149

148150
Note: if kvm indicates supports MCE (KVM_CAP_MCE), then the MCE bank MSRs are
149151
not returned in the MSR list, as different vcpus can have a different number
150152
of banks, as set via the KVM_X86_SETUP_MCE ioctl.
151153

154+
KVM_GET_MSR_FEATURE_INDEX_LIST returns the list of MSRs that can be passed
155+
to the KVM_GET_MSRS system ioctl. This lets userspace probe host capabilities
156+
and processor features that are exposed via MSRs (e.g., VMX capabilities).
157+
This list also varies by kvm version and host processor, but does not change
158+
otherwise.
159+
152160

153161
4.4 KVM_CHECK_EXTENSION
154162

@@ -475,14 +483,22 @@ Support for this has been removed. Use KVM_SET_GUEST_DEBUG instead.
475483

476484
4.18 KVM_GET_MSRS
477485

478-
Capability: basic
486+
Capability: basic (vcpu), KVM_CAP_GET_MSR_FEATURES (system)
479487
Architectures: x86
480-
Type: vcpu ioctl
488+
Type: system ioctl, vcpu ioctl
481489
Parameters: struct kvm_msrs (in/out)
482-
Returns: 0 on success, -1 on error
490+
Returns: number of msrs successfully returned;
491+
-1 on error
492+
493+
When used as a system ioctl:
494+
Reads the values of MSR-based features that are available for the VM. This
495+
is similar to KVM_GET_SUPPORTED_CPUID, but it returns MSR indices and values.
496+
The list of msr-based features can be obtained using KVM_GET_MSR_FEATURE_INDEX_LIST
497+
in a system ioctl.
483498

499+
When used as a vcpu ioctl:
484500
Reads model-specific registers from the vcpu. Supported msr indices can
485-
be obtained using KVM_GET_MSR_INDEX_LIST.
501+
be obtained using KVM_GET_MSR_INDEX_LIST in a system ioctl.
486502

487503
struct kvm_msrs {
488504
__u32 nmsrs; /* number of msrs in entries */

Documentation/virtual/kvm/cpuid.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ KVM_FEATURE_PV_TLB_FLUSH || 9 || guest checks this feature bit
5858
|| || before enabling paravirtualized
5959
|| || tlb flush.
6060
------------------------------------------------------------------------------
61+
KVM_FEATURE_ASYNC_PF_VMEXIT || 10 || paravirtualized async PF VM exit
62+
|| || can be enabled by setting bit 2
63+
|| || when writing to msr 0x4b564d02
64+
------------------------------------------------------------------------------
6165
KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side
6266
|| || per-cpu warps are expected in
6367
|| || kvmclock.

Documentation/virtual/kvm/msr.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ MSR_KVM_ASYNC_PF_EN: 0x4b564d02
170170
when asynchronous page faults are enabled on the vcpu 0 when
171171
disabled. Bit 1 is 1 if asynchronous page faults can be injected
172172
when vcpu is in cpl == 0. Bit 2 is 1 if asynchronous page faults
173-
are delivered to L1 as #PF vmexits.
173+
are delivered to L1 as #PF vmexits. Bit 2 can be set only if
174+
KVM_FEATURE_ASYNC_PF_VMEXIT is present in CPUID.
174175

175176
First 4 byte of 64 byte memory location will be written to by
176177
the hypervisor at the time of asynchronous page fault (APF)

Documentation/x86/intel_rdt_ui.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ occupancy of the real time threads on these cores.
671671
# mkdir p1
672672

673673
Move the cpus 4-7 over to p1
674-
# echo f0 > p0/cpus
674+
# echo f0 > p1/cpus
675675

676676
View the llc occupancy snapshot
677677

Documentation/x86/topology.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ The topology of a system is described in the units of:
108108

109109
The number of online threads is also printed in /proc/cpuinfo "siblings."
110110

111-
- topology_sibling_mask():
111+
- topology_sibling_cpumask():
112112

113113
The cpumask contains all online threads in the core to which a thread
114114
belongs.

0 commit comments

Comments
 (0)