Skip to content

Commit bc47ab0

Browse files
committed
Merge commit 'origin/master' into next
Manual merge of: arch/powerpc/kernel/asm-offsets.c
2 parents 37f9ef5 + 8ebf975 commit bc47ab0

File tree

1,642 files changed

+101186
-33758
lines changed

Some content is hidden

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

1,642 files changed

+101186
-33758
lines changed

Documentation/ABI/testing/sysfs-block

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,62 @@ Description:
6060
Indicates whether the block layer should automatically
6161
generate checksums for write requests bound for
6262
devices that support receiving integrity metadata.
63+
64+
What: /sys/block/<disk>/alignment_offset
65+
Date: April 2009
66+
Contact: Martin K. Petersen <[email protected]>
67+
Description:
68+
Storage devices may report a physical block size that is
69+
bigger than the logical block size (for instance a drive
70+
with 4KB physical sectors exposing 512-byte logical
71+
blocks to the operating system). This parameter
72+
indicates how many bytes the beginning of the device is
73+
offset from the disk's natural alignment.
74+
75+
What: /sys/block/<disk>/<partition>/alignment_offset
76+
Date: April 2009
77+
Contact: Martin K. Petersen <[email protected]>
78+
Description:
79+
Storage devices may report a physical block size that is
80+
bigger than the logical block size (for instance a drive
81+
with 4KB physical sectors exposing 512-byte logical
82+
blocks to the operating system). This parameter
83+
indicates how many bytes the beginning of the partition
84+
is offset from the disk's natural alignment.
85+
86+
What: /sys/block/<disk>/queue/logical_block_size
87+
Date: May 2009
88+
Contact: Martin K. Petersen <[email protected]>
89+
Description:
90+
This is the smallest unit the storage device can
91+
address. It is typically 512 bytes.
92+
93+
What: /sys/block/<disk>/queue/physical_block_size
94+
Date: May 2009
95+
Contact: Martin K. Petersen <[email protected]>
96+
Description:
97+
This is the smallest unit the storage device can write
98+
without resorting to read-modify-write operation. It is
99+
usually the same as the logical block size but may be
100+
bigger. One example is SATA drives with 4KB sectors
101+
that expose a 512-byte logical block size to the
102+
operating system.
103+
104+
What: /sys/block/<disk>/queue/minimum_io_size
105+
Date: April 2009
106+
Contact: Martin K. Petersen <[email protected]>
107+
Description:
108+
Storage devices may report a preferred minimum I/O size,
109+
which is the smallest request the device can perform
110+
without incurring a read-modify-write penalty. For disk
111+
drives this is often the physical block size. For RAID
112+
arrays it is often the stripe chunk size.
113+
114+
What: /sys/block/<disk>/queue/optimal_io_size
115+
Date: April 2009
116+
Contact: Martin K. Petersen <[email protected]>
117+
Description:
118+
Storage devices may report an optimal I/O size, which is
119+
the device's preferred unit of receiving I/O. This is
120+
rarely reported for disk drives. For RAID devices it is
121+
usually the stripe width or the internal block size.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Where: /sys/bus/pci/devices/<dev>/ccissX/cXdY/model
2+
Date: March 2009
3+
Kernel Version: 2.6.30
4+
5+
Description: Displays the SCSI INQUIRY page 0 model for logical drive
6+
Y of controller X.
7+
8+
Where: /sys/bus/pci/devices/<dev>/ccissX/cXdY/rev
9+
Date: March 2009
10+
Kernel Version: 2.6.30
11+
12+
Description: Displays the SCSI INQUIRY page 0 revision for logical
13+
drive Y of controller X.
14+
15+
Where: /sys/bus/pci/devices/<dev>/ccissX/cXdY/unique_id
16+
Date: March 2009
17+
Kernel Version: 2.6.30
18+
19+
Description: Displays the SCSI INQUIRY page 83 serial number for logical
20+
drive Y of controller X.
21+
22+
Where: /sys/bus/pci/devices/<dev>/ccissX/cXdY/vendor
23+
Date: March 2009
24+
Kernel Version: 2.6.30
25+
26+
Description: Displays the SCSI INQUIRY page 0 vendor for logical drive
27+
Y of controller X.
28+
29+
Where: /sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY
30+
Date: March 2009
31+
Kernel Version: 2.6.30
32+
33+
Description: A symbolic link to /sys/block/cciss!cXdY
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
What: /sys/devices/system/cpu/cpu*/cache/index*/cache_disable_X
2+
Date: August 2008
3+
KernelVersion: 2.6.27
4+
5+
Description: These files exist in every cpu's cache index directories.
6+
There are currently 2 cache_disable_# files in each
7+
directory. Reading from these files on a supported
8+
processor will return that cache disable index value
9+
for that processor and node. Writing to one of these
10+
files will cause the specificed cache index to be disabled.
11+
12+
Currently, only AMD Family 10h Processors support cache index
13+
disable, and only for their L3 caches. See the BIOS and
14+
Kernel Developer's Guide at
15+
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116-Public-GH-BKDG_3.20_2-4-09.pdf
16+
for formatting information and other details on the
17+
cache index disable.
18+

Documentation/DMA-API.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,12 +704,24 @@ this directory the following files can currently be found:
704704
The current number of free dma_debug_entries
705705
in the allocator.
706706

707+
dma-api/driver-filter
708+
You can write a name of a driver into this file
709+
to limit the debug output to requests from that
710+
particular driver. Write an empty string to
711+
that file to disable the filter and see
712+
all errors again.
713+
707714
If you have this code compiled into your kernel it will be enabled by default.
708715
If you want to boot without the bookkeeping anyway you can provide
709716
'dma_debug=off' as a boot parameter. This will disable DMA-API debugging.
710717
Notice that you can not enable it again at runtime. You have to reboot to do
711718
so.
712719

720+
If you want to see debug messages only for a special device driver you can
721+
specify the dma_debug_driver=<drivername> parameter. This will enable the
722+
driver filter at boot time. The debug code will only print errors for that
723+
driver afterwards. This filter can be disabled or changed later using debugfs.
724+
713725
When the code disables itself at runtime this is most likely because it ran
714726
out of dma_debug_entries. These entries are preallocated at boot. The number
715727
of preallocated entries is defined per architecture. If it is too low for you

Documentation/DocBook/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ DOCBOOKS := z8530book.xml mcabook.xml device-drivers.xml \
1313
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
1414
genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
1515
mac80211.xml debugobjects.xml sh.xml regulator.xml \
16-
alsa-driver-api.xml writing-an-alsa-driver.xml
16+
alsa-driver-api.xml writing-an-alsa-driver.xml \
17+
tracepoint.xml
1718

1819
###
1920
# The build process is as follows (targets):

Documentation/DocBook/tracepoint.tmpl

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3+
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
4+
5+
<book id="Tracepoints">
6+
<bookinfo>
7+
<title>The Linux Kernel Tracepoint API</title>
8+
9+
<authorgroup>
10+
<author>
11+
<firstname>Jason</firstname>
12+
<surname>Baron</surname>
13+
<affiliation>
14+
<address>
15+
<email>[email protected]</email>
16+
</address>
17+
</affiliation>
18+
</author>
19+
</authorgroup>
20+
21+
<legalnotice>
22+
<para>
23+
This documentation is free software; you can redistribute
24+
it and/or modify it under the terms of the GNU General Public
25+
License as published by the Free Software Foundation; either
26+
version 2 of the License, or (at your option) any later
27+
version.
28+
</para>
29+
30+
<para>
31+
This program is distributed in the hope that it will be
32+
useful, but WITHOUT ANY WARRANTY; without even the implied
33+
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34+
See the GNU General Public License for more details.
35+
</para>
36+
37+
<para>
38+
You should have received a copy of the GNU General Public
39+
License along with this program; if not, write to the Free
40+
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
41+
MA 02111-1307 USA
42+
</para>
43+
44+
<para>
45+
For more details see the file COPYING in the source
46+
distribution of Linux.
47+
</para>
48+
</legalnotice>
49+
</bookinfo>
50+
51+
<toc></toc>
52+
<chapter id="intro">
53+
<title>Introduction</title>
54+
<para>
55+
Tracepoints are static probe points that are located in strategic points
56+
throughout the kernel. 'Probes' register/unregister with tracepoints
57+
via a callback mechanism. The 'probes' are strictly typed functions that
58+
are passed a unique set of parameters defined by each tracepoint.
59+
</para>
60+
61+
<para>
62+
From this simple callback mechanism, 'probes' can be used to profile, debug,
63+
and understand kernel behavior. There are a number of tools that provide a
64+
framework for using 'probes'. These tools include Systemtap, ftrace, and
65+
LTTng.
66+
</para>
67+
68+
<para>
69+
Tracepoints are defined in a number of header files via various macros. Thus,
70+
the purpose of this document is to provide a clear accounting of the available
71+
tracepoints. The intention is to understand not only what tracepoints are
72+
available but also to understand where future tracepoints might be added.
73+
</para>
74+
75+
<para>
76+
The API presented has functions of the form:
77+
<function>trace_tracepointname(function parameters)</function>. These are the
78+
tracepoints callbacks that are found throughout the code. Registering and
79+
unregistering probes with these callback sites is covered in the
80+
<filename>Documentation/trace/*</filename> directory.
81+
</para>
82+
</chapter>
83+
84+
<chapter id="irq">
85+
<title>IRQ</title>
86+
!Iinclude/trace/events/irq.h
87+
</chapter>
88+
89+
</book>

Documentation/RCU/trace.txt

Lines changed: 80 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -192,23 +192,24 @@ rcu/rcuhier (which displays the struct rcu_node hierarchy).
192192
The output of "cat rcu/rcudata" looks as follows:
193193

194194
rcu:
195-
0 c=4011 g=4012 pq=1 pqc=4011 qp=0 rpfq=1 rp=3c2a dt=23301/73 dn=2 df=1882 of=0 ri=2126 ql=2 b=10
196-
1 c=4011 g=4012 pq=1 pqc=4011 qp=0 rpfq=3 rp=39a6 dt=78073/1 dn=2 df=1402 of=0 ri=1875 ql=46 b=10
197-
2 c=4010 g=4010 pq=1 pqc=4010 qp=0 rpfq=-5 rp=1d12 dt=16646/0 dn=2 df=3140 of=0 ri=2080 ql=0 b=10
198-
3 c=4012 g=4013 pq=1 pqc=4012 qp=1 rpfq=3 rp=2b50 dt=21159/1 dn=2 df=2230 of=0 ri=1923 ql=72 b=10
199-
4 c=4012 g=4013 pq=1 pqc=4012 qp=1 rpfq=3 rp=1644 dt=5783/1 dn=2 df=3348 of=0 ri=2805 ql=7 b=10
200-
5 c=4012 g=4013 pq=0 pqc=4011 qp=1 rpfq=3 rp=1aac dt=5879/1 dn=2 df=3140 of=0 ri=2066 ql=10 b=10
201-
6 c=4012 g=4013 pq=1 pqc=4012 qp=1 rpfq=3 rp=ed8 dt=5847/1 dn=2 df=3797 of=0 ri=1266 ql=10 b=10
202-
7 c=4012 g=4013 pq=1 pqc=4012 qp=1 rpfq=3 rp=1fa2 dt=6199/1 dn=2 df=2795 of=0 ri=2162 ql=28 b=10
195+
rcu:
196+
0 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=10951/1 dn=0 df=1101 of=0 ri=36 ql=0 b=10
197+
1 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=16117/1 dn=0 df=1015 of=0 ri=0 ql=0 b=10
198+
2 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=1445/1 dn=0 df=1839 of=0 ri=0 ql=0 b=10
199+
3 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=6681/1 dn=0 df=1545 of=0 ri=0 ql=0 b=10
200+
4 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=1003/1 dn=0 df=1992 of=0 ri=0 ql=0 b=10
201+
5 c=17829 g=17830 pq=1 pqc=17829 qp=1 dt=3887/1 dn=0 df=3331 of=0 ri=4 ql=2 b=10
202+
6 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=859/1 dn=0 df=3224 of=0 ri=0 ql=0 b=10
203+
7 c=17829 g=17830 pq=0 pqc=17829 qp=1 dt=3761/1 dn=0 df=1818 of=0 ri=0 ql=2 b=10
203204
rcu_bh:
204-
0 c=-268 g=-268 pq=1 pqc=-268 qp=0 rpfq=-145 rp=21d6 dt=23301/73 dn=2 df=0 of=0 ri=0 ql=0 b=10
205-
1 c=-268 g=-268 pq=1 pqc=-268 qp=1 rpfq=-170 rp=20ce dt=78073/1 dn=2 df=26 of=0 ri=5 ql=0 b=10
206-
2 c=-268 g=-268 pq=1 pqc=-268 qp=1 rpfq=-83 rp=fbd dt=16646/0 dn=2 df=28 of=0 ri=4 ql=0 b=10
207-
3 c=-268 g=-268 pq=1 pqc=-268 qp=0 rpfq=-105 rp=178c dt=21159/1 dn=2 df=28 of=0 ri=2 ql=0 b=10
208-
4 c=-268 g=-268 pq=1 pqc=-268 qp=1 rpfq=-30 rp=b54 dt=5783/1 dn=2 df=32 of=0 ri=0 ql=0 b=10
209-
5 c=-268 g=-268 pq=1 pqc=-268 qp=1 rpfq=-29 rp=df5 dt=5879/1 dn=2 df=30 of=0 ri=3 ql=0 b=10
210-
6 c=-268 g=-268 pq=1 pqc=-268 qp=1 rpfq=-28 rp=788 dt=5847/1 dn=2 df=32 of=0 ri=0 ql=0 b=10
211-
7 c=-268 g=-268 pq=1 pqc=-268 qp=1 rpfq=-53 rp=1098 dt=6199/1 dn=2 df=30 of=0 ri=3 ql=0 b=10
205+
0 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=10951/1 dn=0 df=0 of=0 ri=0 ql=0 b=10
206+
1 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=16117/1 dn=0 df=13 of=0 ri=0 ql=0 b=10
207+
2 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=1445/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
208+
3 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=6681/1 dn=0 df=9 of=0 ri=0 ql=0 b=10
209+
4 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=1003/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
210+
5 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=3887/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
211+
6 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=859/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
212+
7 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=3761/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
212213

213214
The first section lists the rcu_data structures for rcu, the second for
214215
rcu_bh. Each section has one line per CPU, or eight for this 8-CPU system.
@@ -253,12 +254,6 @@ o "pqc" indicates which grace period the last-observed quiescent
253254
o "qp" indicates that RCU still expects a quiescent state from
254255
this CPU.
255256

256-
o "rpfq" is the number of rcu_pending() calls on this CPU required
257-
to induce this CPU to invoke force_quiescent_state().
258-
259-
o "rp" is low-order four hex digits of the count of how many times
260-
rcu_pending() has been invoked on this CPU.
261-
262257
o "dt" is the current value of the dyntick counter that is incremented
263258
when entering or leaving dynticks idle state, either by the
264259
scheduler or by irq. The number after the "/" is the interrupt
@@ -305,6 +300,9 @@ o "b" is the batch limit for this CPU. If more than this number
305300
of RCU callbacks is ready to invoke, then the remainder will
306301
be deferred.
307302

303+
There is also an rcu/rcudata.csv file with the same information in
304+
comma-separated-variable spreadsheet format.
305+
308306

309307
The output of "cat rcu/rcugp" looks as follows:
310308

@@ -411,3 +409,63 @@ o Each element of the form "1/1 0:127 ^0" represents one struct
411409
For example, the first entry at the lowest level shows
412410
"^0", indicating that it corresponds to bit zero in
413411
the first entry at the middle level.
412+
413+
414+
The output of "cat rcu/rcu_pending" looks as follows:
415+
416+
rcu:
417+
0 np=255892 qsp=53936 cbr=0 cng=14417 gpc=10033 gps=24320 nf=6445 nn=146741
418+
1 np=261224 qsp=54638 cbr=0 cng=25723 gpc=16310 gps=2849 nf=5912 nn=155792
419+
2 np=237496 qsp=49664 cbr=0 cng=2762 gpc=45478 gps=1762 nf=1201 nn=136629
420+
3 np=236249 qsp=48766 cbr=0 cng=286 gpc=48049 gps=1218 nf=207 nn=137723
421+
4 np=221310 qsp=46850 cbr=0 cng=26 gpc=43161 gps=4634 nf=3529 nn=123110
422+
5 np=237332 qsp=48449 cbr=0 cng=54 gpc=47920 gps=3252 nf=201 nn=137456
423+
6 np=219995 qsp=46718 cbr=0 cng=50 gpc=42098 gps=6093 nf=4202 nn=120834
424+
7 np=249893 qsp=49390 cbr=0 cng=72 gpc=38400 gps=17102 nf=41 nn=144888
425+
rcu_bh:
426+
0 np=146741 qsp=1419 cbr=0 cng=6 gpc=0 gps=0 nf=2 nn=145314
427+
1 np=155792 qsp=12597 cbr=0 cng=0 gpc=4 gps=8 nf=3 nn=143180
428+
2 np=136629 qsp=18680 cbr=0 cng=0 gpc=7 gps=6 nf=0 nn=117936
429+
3 np=137723 qsp=2843 cbr=0 cng=0 gpc=10 gps=7 nf=0 nn=134863
430+
4 np=123110 qsp=12433 cbr=0 cng=0 gpc=4 gps=2 nf=0 nn=110671
431+
5 np=137456 qsp=4210 cbr=0 cng=0 gpc=6 gps=5 nf=0 nn=133235
432+
6 np=120834 qsp=9902 cbr=0 cng=0 gpc=6 gps=3 nf=2 nn=110921
433+
7 np=144888 qsp=26336 cbr=0 cng=0 gpc=8 gps=2 nf=0 nn=118542
434+
435+
As always, this is once again split into "rcu" and "rcu_bh" portions.
436+
The fields are as follows:
437+
438+
o "np" is the number of times that __rcu_pending() has been invoked
439+
for the corresponding flavor of RCU.
440+
441+
o "qsp" is the number of times that the RCU was waiting for a
442+
quiescent state from this CPU.
443+
444+
o "cbr" is the number of times that this CPU had RCU callbacks
445+
that had passed through a grace period, and were thus ready
446+
to be invoked.
447+
448+
o "cng" is the number of times that this CPU needed another
449+
grace period while RCU was idle.
450+
451+
o "gpc" is the number of times that an old grace period had
452+
completed, but this CPU was not yet aware of it.
453+
454+
o "gps" is the number of times that a new grace period had started,
455+
but this CPU was not yet aware of it.
456+
457+
o "nf" is the number of times that this CPU suspected that the
458+
current grace period had run for too long, and thus needed to
459+
be forced.
460+
461+
Please note that "forcing" consists of sending resched IPIs
462+
to holdout CPUs. If that CPU really still is in an old RCU
463+
read-side critical section, then we really do have to wait for it.
464+
The assumption behing "forcing" is that the CPU is not still in
465+
an old RCU read-side critical section, but has not yet responded
466+
for some other reason.
467+
468+
o "nn" is the number of times that this CPU needed nothing. Alert
469+
readers will note that the rcu "nn" number for a given CPU very
470+
closely matches the rcu_bh "np" number for that same CPU. This
471+
is due to short-circuit evaluation in rcu_pending().

Documentation/Smack.txt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,9 @@ length. Single character labels using special characters, that being anything
184184
other than a letter or digit, are reserved for use by the Smack development
185185
team. Smack labels are unstructured, case sensitive, and the only operation
186186
ever performed on them is comparison for equality. Smack labels cannot
187-
contain unprintable characters or the "/" (slash) character. Smack labels
188-
cannot begin with a '-', which is reserved for special options.
187+
contain unprintable characters, the "/" (slash), the "\" (backslash), the "'"
188+
(quote) and '"' (double-quote) characters.
189+
Smack labels cannot begin with a '-', which is reserved for special options.
189190

190191
There are some predefined labels:
191192

@@ -523,3 +524,18 @@ Smack supports some mount options:
523524

524525
These mount options apply to all file system types.
525526

527+
Smack auditing
528+
529+
If you want Smack auditing of security events, you need to set CONFIG_AUDIT
530+
in your kernel configuration.
531+
By default, all denied events will be audited. You can change this behavior by
532+
writing a single character to the /smack/logging file :
533+
0 : no logging
534+
1 : log denied (default)
535+
2 : log accepted
536+
3 : log denied & accepted
537+
538+
Events are logged as 'key=value' pairs, for each event you at least will get
539+
the subjet, the object, the rights requested, the action, the kernel function
540+
that triggered the event, plus other pairs depending on the type of event
541+
audited.

0 commit comments

Comments
 (0)