Skip to content

Commit 1370e31

Browse files
committed
Merge pull request #35 from torvalds/master
Sync up with Linus
2 parents 170a82d + a26be14 commit 1370e31

File tree

815 files changed

+25047
-13322
lines changed

Some content is hidden

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

815 files changed

+25047
-13322
lines changed

Documentation/ABI/stable/sysfs-class-tpm

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
What: /sys/class/misc/tpmX/device/
1+
What: /sys/class/tpm/tpmX/device/
22
Date: April 2005
33
KernelVersion: 2.6.12
44
55
Description: The device/ directory under a specific TPM instance exposes
66
the properties of that TPM chip
77

88

9-
What: /sys/class/misc/tpmX/device/active
9+
What: /sys/class/tpm/tpmX/device/active
1010
Date: April 2006
1111
KernelVersion: 2.6.17
1212
@@ -18,15 +18,15 @@ Description: The "active" property prints a '1' if the TPM chip is accepting
1818
section 17 for more information on which commands are
1919
available.
2020

21-
What: /sys/class/misc/tpmX/device/cancel
21+
What: /sys/class/tpm/tpmX/device/cancel
2222
Date: June 2005
2323
KernelVersion: 2.6.13
2424
2525
Description: The "cancel" property allows you to cancel the currently
2626
pending TPM command. Writing any value to cancel will call the
2727
TPM vendor specific cancel operation.
2828

29-
What: /sys/class/misc/tpmX/device/caps
29+
What: /sys/class/tpm/tpmX/device/caps
3030
Date: April 2005
3131
KernelVersion: 2.6.12
3232
@@ -43,7 +43,7 @@ Description: The "caps" property contains TPM manufacturer and version info.
4343
the chip supports. Firmware version is that of the chip and
4444
is manufacturer specific.
4545

46-
What: /sys/class/misc/tpmX/device/durations
46+
What: /sys/class/tpm/tpmX/device/durations
4747
Date: March 2011
4848
KernelVersion: 3.1
4949
@@ -66,7 +66,7 @@ Description: The "durations" property shows the 3 vendor-specific values
6666
scaled to be displayed in usecs. In this case "[adjusted]"
6767
will be displayed in place of "[original]".
6868

69-
What: /sys/class/misc/tpmX/device/enabled
69+
What: /sys/class/tpm/tpmX/device/enabled
7070
Date: April 2006
7171
KernelVersion: 2.6.17
7272
@@ -75,15 +75,15 @@ Description: The "enabled" property prints a '1' if the TPM chip is enabled,
7575
may be visible but produce a '0' after some operation that
7676
disables the TPM.
7777

78-
What: /sys/class/misc/tpmX/device/owned
78+
What: /sys/class/tpm/tpmX/device/owned
7979
Date: April 2006
8080
KernelVersion: 2.6.17
8181
8282
Description: The "owned" property produces a '1' if the TPM_TakeOwnership
8383
ordinal has been executed successfully in the chip. A '0'
8484
indicates that ownership hasn't been taken.
8585

86-
What: /sys/class/misc/tpmX/device/pcrs
86+
What: /sys/class/tpm/tpmX/device/pcrs
8787
Date: April 2005
8888
KernelVersion: 2.6.12
8989
@@ -106,7 +106,7 @@ Description: The "pcrs" property will dump the current value of all Platform
106106
1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes
107107
long. Use the "caps" property to determine TPM version.
108108

109-
What: /sys/class/misc/tpmX/device/pubek
109+
What: /sys/class/tpm/tpmX/device/pubek
110110
Date: April 2005
111111
KernelVersion: 2.6.12
112112
@@ -158,7 +158,7 @@ Description: The "pubek" property will return the TPM's public endorsement
158158
Modulus Length: 256 (bytes)
159159
Modulus: The 256 byte Endorsement Key modulus
160160

161-
What: /sys/class/misc/tpmX/device/temp_deactivated
161+
What: /sys/class/tpm/tpmX/device/temp_deactivated
162162
Date: April 2006
163163
KernelVersion: 2.6.17
164164
@@ -167,7 +167,7 @@ Description: The "temp_deactivated" property returns a '1' if the chip has
167167
cycle. Whether a warm boot (reboot) will clear a TPM chip
168168
from a temp_deactivated state is platform specific.
169169

170-
What: /sys/class/misc/tpmX/device/timeouts
170+
What: /sys/class/tpm/tpmX/device/timeouts
171171
Date: March 2011
172172
KernelVersion: 3.1
173173
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
What: /sys/bus/amba/devices/.../driver_override
2+
Date: September 2014
3+
Contact: Antonios Motakis <[email protected]>
4+
Description:
5+
This file allows the driver for a device to be specified which
6+
will override standard OF, ACPI, ID table, and name matching.
7+
When specified, only a driver with a name matching the value
8+
written to driver_override will have an opportunity to bind to
9+
the device. The override is specified by writing a string to the
10+
driver_override file (echo vfio-amba > driver_override) and may
11+
be cleared with an empty string (echo > driver_override).
12+
This returns the device to standard matching rules binding.
13+
Writing to driver_override does not automatically unbind the
14+
device from its current driver or make any attempt to
15+
automatically load the specified driver. If no driver with a
16+
matching name is currently loaded in the kernel, the device will
17+
not bind to any driver. This also allows devices to opt-out of
18+
driver binding using a driver_override name such as "none".
19+
Only a single driver may be specified in the override, there is
20+
no support for parsing delimiters.

Documentation/ABI/testing/sysfs-bus-event_source-devices-hv_24x7

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,25 @@ Contact: Linux on PowerPC Developer List <[email protected]>
2121
Description:
2222
Exposes the "version" field of the 24x7 catalog. This is also
2323
extractable from the provided binary "catalog" sysfs entry.
24+
25+
What: /sys/bus/event_source/devices/hv_24x7/event_descs/<event-name>
26+
Date: February 2014
27+
Contact: Linux on PowerPC Developer List <[email protected]>
28+
Description:
29+
Provides the description of a particular event as provided by
30+
the firmware. If firmware does not provide a description, no
31+
file will be created.
32+
33+
Note that the event-name lacks the domain suffix appended for
34+
events in the events/ dir.
35+
36+
What: /sys/bus/event_source/devices/hv_24x7/event_long_descs/<event-name>
37+
Date: February 2014
38+
Contact: Linux on PowerPC Developer List <[email protected]>
39+
Description:
40+
Provides the "long" description of a particular event as
41+
provided by the firmware. If firmware does not provide a
42+
description, no file will be created.
43+
44+
Note that the event-name lacks the domain suffix appended for
45+
events in the events/ dir.

Documentation/ABI/testing/sysfs-class-cxl

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
Note: Attributes that are shared between devices are stored in the directory
2+
pointed to by the symlink device/.
3+
Example: The real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
4+
/sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max.
5+
6+
17
Slave contexts (eg. /sys/class/cxl/afu0.0s):
28

39
What: /sys/class/cxl/<afu>/irqs_max
@@ -67,14 +73,50 @@ Contact: [email protected]
6773
Description: read only
6874
Decimal value of the current version of the kernel/user API.
6975

70-
What: /sys/class/cxl/<afu>/api_version_com
76+
What: /sys/class/cxl/<afu>/api_version_compatible
7177
Date: September 2014
7278
7379
Description: read only
7480
Decimal value of the the lowest version of the userspace API
7581
this this kernel supports.
7682

7783

84+
AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
85+
86+
An AFU may optionally export one or more PCIe like configuration records, known
87+
as AFU configuration records, which will show up here (if present).
88+
89+
What: /sys/class/cxl/<afu>/cr<config num>/vendor
90+
Date: February 2015
91+
92+
Description: read only
93+
Hexadecimal value of the vendor ID found in this AFU
94+
configuration record.
95+
96+
What: /sys/class/cxl/<afu>/cr<config num>/device
97+
Date: February 2015
98+
99+
Description: read only
100+
Hexadecimal value of the device ID found in this AFU
101+
configuration record.
102+
103+
What: /sys/class/cxl/<afu>/cr<config num>/vendor
104+
Date: February 2015
105+
106+
Description: read only
107+
Hexadecimal value of the class code found in this AFU
108+
configuration record.
109+
110+
What: /sys/class/cxl/<afu>/cr<config num>/config
111+
Date: February 2015
112+
113+
Description: read only
114+
This binary file provides raw access to the AFU configuration
115+
record. The format is expected to match the either the standard
116+
or extended configuration space defined by the PCIe
117+
specification.
118+
119+
78120

79121
Master contexts (eg. /sys/class/cxl/afu0.0m)
80122

@@ -106,7 +148,7 @@ Contact: [email protected]
106148
Description: read only
107149
Identifies the CAIA Version the card implements.
108150

109-
What: /sys/class/cxl/<card>/psl_version
151+
What: /sys/class/cxl/<card>/psl_revision
110152
Date: September 2014
111153
112154
Description: read only
@@ -127,3 +169,24 @@ Contact: [email protected]
127169
Description: read only
128170
Will return "user" or "factory" depending on the image loaded
129171
onto the card.
172+
173+
What: /sys/class/cxl/<card>/load_image_on_perst
174+
Date: December 2014
175+
176+
Description: read/write
177+
Valid entries are "none", "user", and "factory".
178+
"none" means PERST will not cause image to be loaded to the
179+
card. A power cycle is required to load the image.
180+
"none" could be useful for debugging because the trace arrays
181+
are preserved.
182+
"user" and "factory" means PERST will cause either the user or
183+
user or factory image to be loaded.
184+
Default is to reload on PERST whichever image the card has
185+
loaded.
186+
187+
What: /sys/class/cxl/<card>/reset
188+
Date: October 2014
189+
190+
Description: write only
191+
Writing 1 will issue a PERST to card which may cause the card
192+
to reload the FPGA depending on load_image_on_perst.

Documentation/arm64/legacy_instructions.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ The default mode depends on the status of the instruction in the
3232
architecture. Deprecated instructions should default to emulation
3333
while obsolete instructions must be undefined by default.
3434

35+
Note: Instruction emulation may not be possible in all cases. See
36+
individual instruction notes for further information.
37+
3538
Supported legacy instructions
3639
-----------------------------
3740
* SWP{B}
@@ -43,3 +46,12 @@ Default: Undef (0)
4346
Node: /proc/sys/abi/cp15_barrier
4447
Status: Deprecated
4548
Default: Emulate (1)
49+
50+
* SETEND
51+
Node: /proc/sys/abi/setend
52+
Status: Deprecated
53+
Default: Emulate (1)*
54+
Note: All the cpus on the system must have mixed endian support at EL0
55+
for this feature to be enabled. If a new CPU - which doesn't support mixed
56+
endian - is hotplugged in after this feature has been enabled, there could
57+
be unexpected results in the application.

Documentation/cgroups/unified-hierarchy.txt

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,85 @@ supported and the interface files "release_agent" and
327327
- use_hierarchy is on by default and the cgroup file for the flag is
328328
not created.
329329

330+
- The original lower boundary, the soft limit, is defined as a limit
331+
that is per default unset. As a result, the set of cgroups that
332+
global reclaim prefers is opt-in, rather than opt-out. The costs
333+
for optimizing these mostly negative lookups are so high that the
334+
implementation, despite its enormous size, does not even provide the
335+
basic desirable behavior. First off, the soft limit has no
336+
hierarchical meaning. All configured groups are organized in a
337+
global rbtree and treated like equal peers, regardless where they
338+
are located in the hierarchy. This makes subtree delegation
339+
impossible. Second, the soft limit reclaim pass is so aggressive
340+
that it not just introduces high allocation latencies into the
341+
system, but also impacts system performance due to overreclaim, to
342+
the point where the feature becomes self-defeating.
343+
344+
The memory.low boundary on the other hand is a top-down allocated
345+
reserve. A cgroup enjoys reclaim protection when it and all its
346+
ancestors are below their low boundaries, which makes delegation of
347+
subtrees possible. Secondly, new cgroups have no reserve per
348+
default and in the common case most cgroups are eligible for the
349+
preferred reclaim pass. This allows the new low boundary to be
350+
efficiently implemented with just a minor addition to the generic
351+
reclaim code, without the need for out-of-band data structures and
352+
reclaim passes. Because the generic reclaim code considers all
353+
cgroups except for the ones running low in the preferred first
354+
reclaim pass, overreclaim of individual groups is eliminated as
355+
well, resulting in much better overall workload performance.
356+
357+
- The original high boundary, the hard limit, is defined as a strict
358+
limit that can not budge, even if the OOM killer has to be called.
359+
But this generally goes against the goal of making the most out of
360+
the available memory. The memory consumption of workloads varies
361+
during runtime, and that requires users to overcommit. But doing
362+
that with a strict upper limit requires either a fairly accurate
363+
prediction of the working set size or adding slack to the limit.
364+
Since working set size estimation is hard and error prone, and
365+
getting it wrong results in OOM kills, most users tend to err on the
366+
side of a looser limit and end up wasting precious resources.
367+
368+
The memory.high boundary on the other hand can be set much more
369+
conservatively. When hit, it throttles allocations by forcing them
370+
into direct reclaim to work off the excess, but it never invokes the
371+
OOM killer. As a result, a high boundary that is chosen too
372+
aggressively will not terminate the processes, but instead it will
373+
lead to gradual performance degradation. The user can monitor this
374+
and make corrections until the minimal memory footprint that still
375+
gives acceptable performance is found.
376+
377+
In extreme cases, with many concurrent allocations and a complete
378+
breakdown of reclaim progress within the group, the high boundary
379+
can be exceeded. But even then it's mostly better to satisfy the
380+
allocation from the slack available in other groups or the rest of
381+
the system than killing the group. Otherwise, memory.max is there
382+
to limit this type of spillover and ultimately contain buggy or even
383+
malicious applications.
384+
385+
- The original control file names are unwieldy and inconsistent in
386+
many different ways. For example, the upper boundary hit count is
387+
exported in the memory.failcnt file, but an OOM event count has to
388+
be manually counted by listening to memory.oom_control events, and
389+
lower boundary / soft limit events have to be counted by first
390+
setting a threshold for that value and then counting those events.
391+
Also, usage and limit files encode their units in the filename.
392+
That makes the filenames very long, even though this is not
393+
information that a user needs to be reminded of every time they type
394+
out those names.
395+
396+
To address these naming issues, as well as to signal clearly that
397+
the new interface carries a new configuration model, the naming
398+
conventions in it necessarily differ from the old interface.
399+
400+
- The original limit files indicate the state of an unset limit with a
401+
Very High Number, and a configured limit can be unset by echoing -1
402+
into those files. But that very high number is implementation and
403+
architecture dependent and not very descriptive. And while -1 can
404+
be understood as an underflow into the highest possible value, -2 or
405+
-10M etc. do not work, so it's not consistent.
406+
407+
memory.low, memory.high, and memory.max will use the string
408+
"infinity" to indicate and set the highest possible value.
330409

331410
5. Planned Changes
332411

Documentation/devicetree/bindings/arm/cpus.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ nodes to be present and contain the properties described below.
175175
"marvell,pj4a"
176176
"marvell,pj4b"
177177
"marvell,sheeva-v5"
178+
"nvidia,tegra132-denver"
178179
"qcom,krait"
179180
"qcom,scorpion"
180181
- enable-method

Documentation/devicetree/bindings/arm/l2cc.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,16 @@ Optional properties:
5757
- cache-id-part: cache id part number to be used if it is not present
5858
on hardware
5959
- wt-override: If present then L2 is forced to Write through mode
60+
- arm,double-linefill : Override double linefill enable setting. Enable if
61+
non-zero, disable if zero.
62+
- arm,double-linefill-incr : Override double linefill on INCR read. Enable
63+
if non-zero, disable if zero.
64+
- arm,double-linefill-wrap : Override double linefill on WRAP read. Enable
65+
if non-zero, disable if zero.
66+
- arm,prefetch-drop : Override prefetch drop enable setting. Enable if non-zero,
67+
disable if zero.
68+
- arm,prefetch-offset : Override prefetch offset value. Valid values are
69+
0-7, 15, 23, and 31.
6070

6171
Example:
6272

Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
NVIDIA Tegra AHB
22

33
Required properties:
4-
- compatible : "nvidia,tegra20-ahb" or "nvidia,tegra30-ahb"
4+
- compatible : For Tegra20, must contain "nvidia,tegra20-ahb". For
5+
Tegra30, must contain "nvidia,tegra30-ahb". Otherwise, must contain
6+
'"nvidia,<chip>-ahb", "nvidia,tegra30-ahb"' where <chip> is tegra124,
7+
tegra132, or tegra210.
58
- reg : Should contain 1 register ranges(address and length)
69

710
Example:

Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ modes. It provides power-gating controllers for SoC and CPU power-islands.
66

77
Required properties:
88
- name : Should be pmc
9-
- compatible : Should contain "nvidia,tegra<chip>-pmc".
9+
- compatible : For Tegra20, must contain "nvidia,tegra20-pmc". For Tegra30,
10+
must contain "nvidia,tegra30-pmc". For Tegra114, must contain
11+
"nvidia,tegra114-pmc". For Tegra124, must contain "nvidia,tegra124-pmc".
12+
Otherwise, must contain "nvidia,<chip>-pmc", plus at least one of the
13+
above, where <chip> is tegra132.
1014
- reg : Offset and length of the register set for the device
1115
- clocks : Must contain an entry for each entry in clock-names.
1216
See ../clocks/clock-bindings.txt for details.

0 commit comments

Comments
 (0)