Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f8ffe24 authored by Frederic Weisbecker's avatar Frederic Weisbecker
Browse files

Merge commit 'tracing/core' into tracing/kprobes



Conflicts:
	kernel/trace/trace_export.c
	kernel/trace/trace_kprobe.c

Merge reason: This topic branch lacks an important
build fix in tracing/core:

	0dd7b747:
	tracing: Fix double CPP substitution in TRACE_EVENT_FN

that prevents from multiple tracepoint headers inclusion crashes.

Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
parents 70069577 d28daf92
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -123,6 +123,9 @@ available from the same CVS repository.
There are user and developer mailing lists available through the v9fs project
There are user and developer mailing lists available through the v9fs project
on sourceforge (http://sourceforge.net/projects/v9fs).
on sourceforge (http://sourceforge.net/projects/v9fs).


A stand-alone version of the module (which should build for any 2.6 kernel)
is available via (http://github.com/ericvh/9p-sac/tree/master)

News and other information is maintained on SWiK (http://swik.net/v9fs).
News and other information is maintained on SWiK (http://swik.net/v9fs).


Bug reports may be issued through the kernel.org bugzilla 
Bug reports may be issued through the kernel.org bugzilla 
+12 −14
Original line number Original line Diff line number Diff line
@@ -23,15 +23,13 @@ it does support include:


 (*) Security (currently only AFS kaserver and KerberosIV tickets).
 (*) Security (currently only AFS kaserver and KerberosIV tickets).


 (*) File reading.
 (*) File reading and writing.


 (*) Automounting.
 (*) Automounting.


It does not yet support the following AFS features:
 (*) Local caching (via fscache).

 (*) Write support.


 (*) Local caching.
It does not yet support the following AFS features:


 (*) pioctl() system call.
 (*) pioctl() system call.


@@ -56,7 +54,7 @@ They permit the debugging messages to be turned on dynamically by manipulating
the masks in the following files:
the masks in the following files:


	/sys/module/af_rxrpc/parameters/debug
	/sys/module/af_rxrpc/parameters/debug
	/sys/module/afs/parameters/debug
	/sys/module/kafs/parameters/debug




=====
=====
@@ -66,9 +64,9 @@ USAGE
When inserting the driver modules the root cell must be specified along with a
When inserting the driver modules the root cell must be specified along with a
list of volume location server IP addresses:
list of volume location server IP addresses:


	insmod af_rxrpc.o
	modprobe af_rxrpc
	insmod rxkad.o
	modprobe rxkad
	insmod kafs.o rootcell=cambridge.redhat.com:172.16.18.73:172.16.18.91
	modprobe kafs rootcell=cambridge.redhat.com:172.16.18.73:172.16.18.91


The first module is the AF_RXRPC network protocol driver.  This provides the
The first module is the AF_RXRPC network protocol driver.  This provides the
RxRPC remote operation protocol and may also be accessed from userspace.  See:
RxRPC remote operation protocol and may also be accessed from userspace.  See:
@@ -81,7 +79,7 @@ is the actual filesystem driver for the AFS filesystem.
Once the module has been loaded, more modules can be added by the following
Once the module has been loaded, more modules can be added by the following
procedure:
procedure:


	echo add grand.central.org 18.7.14.88:128.2.191.224 >/proc/fs/afs/cells
	echo add grand.central.org 18.9.48.14:128.2.203.61:130.237.48.87 >/proc/fs/afs/cells


Where the parameters to the "add" command are the name of a cell and a list of
Where the parameters to the "add" command are the name of a cell and a list of
volume location servers within that cell, with the latter separated by colons.
volume location servers within that cell, with the latter separated by colons.
@@ -101,7 +99,7 @@ The name of the volume can be suffixes with ".backup" or ".readonly" to
specify connection to only volumes of those types.
specify connection to only volumes of those types.


The name of the cell is optional, and if not given during a mount, then the
The name of the cell is optional, and if not given during a mount, then the
named volume will be looked up in the cell specified during insmod.
named volume will be looked up in the cell specified during modprobe.


Additional cells can be added through /proc (see later section).
Additional cells can be added through /proc (see later section).


@@ -163,14 +161,14 @@ THE CELL DATABASE


The filesystem maintains an internal database of all the cells it knows and the
The filesystem maintains an internal database of all the cells it knows and the
IP addresses of the volume location servers for those cells.  The cell to which
IP addresses of the volume location servers for those cells.  The cell to which
the system belongs is added to the database when insmod is performed by the
the system belongs is added to the database when modprobe is performed by the
"rootcell=" argument or, if compiled in, using a "kafs.rootcell=" argument on
"rootcell=" argument or, if compiled in, using a "kafs.rootcell=" argument on
the kernel command line.
the kernel command line.


Further cells can be added by commands similar to the following:
Further cells can be added by commands similar to the following:


	echo add CELLNAME VLADDR[:VLADDR][:VLADDR]... >/proc/fs/afs/cells
	echo add CELLNAME VLADDR[:VLADDR][:VLADDR]... >/proc/fs/afs/cells
	echo add grand.central.org 18.7.14.88:128.2.191.224 >/proc/fs/afs/cells
	echo add grand.central.org 18.9.48.14:128.2.203.61:130.237.48.87 >/proc/fs/afs/cells


No other cell database operations are available at this time.
No other cell database operations are available at this time.


@@ -233,7 +231,7 @@ insmod /tmp/kafs.o rootcell=cambridge.redhat.com:172.16.18.91
mount -t afs \%root.afs. /afs
mount -t afs \%root.afs. /afs
mount -t afs \%cambridge.redhat.com:root.cell. /afs/cambridge.redhat.com/
mount -t afs \%cambridge.redhat.com:root.cell. /afs/cambridge.redhat.com/


echo add grand.central.org 18.7.14.88:128.2.191.224 > /proc/fs/afs/cells
echo add grand.central.org 18.9.48.14:128.2.203.61:130.237.48.87 > /proc/fs/afs/cells
mount -t afs "#grand.central.org:root.cell." /afs/grand.central.org/
mount -t afs "#grand.central.org:root.cell." /afs/grand.central.org/
mount -t afs "#grand.central.org:root.archive." /afs/grand.central.org/archive
mount -t afs "#grand.central.org:root.archive." /afs/grand.central.org/archive
mount -t afs "#grand.central.org:root.contrib." /afs/grand.central.org/contrib
mount -t afs "#grand.central.org:root.contrib." /afs/grand.central.org/contrib
+5 −10
Original line number Original line Diff line number Diff line
@@ -1167,13 +1167,11 @@ CHAPTER 3: PER-PROCESS PARAMETERS
3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score
3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score
------------------------------------------------------
------------------------------------------------------


This file can be used to adjust the score used to select which processes should
This file can be used to adjust the score used to select which processes
be killed in an out-of-memory situation.  The oom_adj value is a characteristic
should be killed in an  out-of-memory  situation.  Giving it a high score will
of the task's mm, so all threads that share an mm with pid will have the same
increase the likelihood of this process being killed by the oom-killer.  Valid
oom_adj value.  A high value will increase the likelihood of this process being
values are in the range -16 to +15, plus the special value -17, which disables
killed by the oom-killer.  Valid values are in the range -16 to +15 as
oom-killing altogether for this process.
explained below and a special value of -17, which disables oom-killing
altogether for threads sharing pid's mm.


The process to be killed in an out-of-memory situation is selected among all others
The process to be killed in an out-of-memory situation is selected among all others
based on its badness score. This value equals the original memory size of the process
based on its badness score. This value equals the original memory size of the process
@@ -1187,9 +1185,6 @@ the parent's score if they do not share the same memory. Thus forking servers
are the prime candidates to be killed. Having only one 'hungry' child will make
are the prime candidates to be killed. Having only one 'hungry' child will make
parent less preferable than the child.
parent less preferable than the child.


/proc/<pid>/oom_adj cannot be changed for kthreads since they are immune from
oom-killing already.

/proc/<pid>/oom_score shows process' current badness score.
/proc/<pid>/oom_score shows process' current badness score.


The following heuristics are then applied:
The following heuristics are then applied:
+4 −0
Original line number Original line Diff line number Diff line
@@ -1116,6 +1116,10 @@ and is between 256 and 4096 characters. It is defined in the file
			Combinations also work, so libata.dma=3 enables DMA
			Combinations also work, so libata.dma=3 enables DMA
			for disks and CDROMs, but not CFs.
			for disks and CDROMs, but not CFs.
	
	
	libata.ignore_hpa=	[LIBATA] Ignore HPA limit
			libata.ignore_hpa=0	  keep BIOS limits (default)
			libata.ignore_hpa=1	  ignore limits, using full disk

	libata.noacpi	[LIBATA] Disables use of ACPI in libata suspend/resume
	libata.noacpi	[LIBATA] Disables use of ACPI in libata suspend/resume
			when set.
			when set.
			Format: <int>
			Format: <int>
+36 −32
Original line number Original line Diff line number Diff line
@@ -85,26 +85,19 @@ of ftrace. Here is a list of some of the key files:
	This file holds the output of the trace in a human
	This file holds the output of the trace in a human
	readable format (described below).
	readable format (described below).


  latency_trace:

	This file shows the same trace but the information
	is organized more to display possible latencies
	in the system (described below).

  trace_pipe:
  trace_pipe:


	The output is the same as the "trace" file but this
	The output is the same as the "trace" file but this
	file is meant to be streamed with live tracing.
	file is meant to be streamed with live tracing.
	Reads from this file will block until new data
	Reads from this file will block until new data is
	is retrieved. Unlike the "trace" and "latency_trace"
	retrieved.  Unlike the "trace" file, this file is a
	files, this file is a consumer. This means reading
	consumer. This means reading from this file causes
	from this file causes sequential reads to display
	sequential reads to display more current data. Once
	more current data. Once data is read from this
	data is read from this file, it is consumed, and
	file, it is consumed, and will not be read
	will not be read again with a sequential read. The
	again with a sequential read. The "trace" and
	"trace" file is static, and if the tracer is not
	"latency_trace" files are static, and if the
	adding more data,they will display the same
	tracer is not adding more data, they will display
	information every time they are read.
	the same information every time they are read.


  trace_options:
  trace_options:


@@ -117,10 +110,10 @@ of ftrace. Here is a list of some of the key files:
	Some of the tracers record the max latency.
	Some of the tracers record the max latency.
	For example, the time interrupts are disabled.
	For example, the time interrupts are disabled.
	This time is saved in this file. The max trace
	This time is saved in this file. The max trace
	will also be stored, and displayed by either
	will also be stored, and displayed by "trace".
	"trace" or "latency_trace".  A new max trace will
	A new max trace will only be recorded if the
	only be recorded if the latency is greater than
	latency is greater than the value in this
	the value in this file. (in microseconds)
	file. (in microseconds)


  buffer_size_kb:
  buffer_size_kb:


@@ -210,7 +203,7 @@ Here is the list of current tracers that may be configured.
	the trace with the longest max latency.
	the trace with the longest max latency.
	See tracing_max_latency. When a new max is recorded,
	See tracing_max_latency. When a new max is recorded,
	it replaces the old trace. It is best to view this
	it replaces the old trace. It is best to view this
	trace via the latency_trace file.
	trace with the latency-format option enabled.


  "preemptoff"
  "preemptoff"


@@ -307,8 +300,8 @@ the lowest priority thread (pid 0).
Latency trace format
Latency trace format
--------------------
--------------------


For traces that display latency times, the latency_trace file
When the latency-format option is enabled, the trace file gives
gives somewhat more information to see why a latency happened.
somewhat more information to see why a latency happened.
Here is a typical trace.
Here is a typical trace.


# tracer: irqsoff
# tracer: irqsoff
@@ -380,9 +373,10 @@ explains which is which.


The above is mostly meaningful for kernel developers.
The above is mostly meaningful for kernel developers.


  time: This differs from the trace file output. The trace file output
  time: When the latency-format option is enabled, the trace file
	includes an absolute timestamp. The timestamp used by the
	output includes a timestamp relative to the start of the
	latency_trace file is relative to the start of the trace.
	trace. This differs from the output when latency-format
	is disabled, which includes an absolute timestamp.


  delay: This is just to help catch your eye a bit better. And
  delay: This is just to help catch your eye a bit better. And
	 needs to be fixed to be only relative to the same CPU.
	 needs to be fixed to be only relative to the same CPU.
@@ -440,7 +434,8 @@ Here are the available options:
  sym-addr:
  sym-addr:
   bash-4000  [01]  1477.606694: simple_strtoul <c0339346>
   bash-4000  [01]  1477.606694: simple_strtoul <c0339346>


  verbose - This deals with the latency_trace file.
  verbose - This deals with the trace file when the
            latency-format option is enabled.


    bash  4000 1 0 00000000 00010a95 [58127d26] 1720.415ms \
    bash  4000 1 0 00000000 00010a95 [58127d26] 1720.415ms \
    (+0.000ms): simple_strtoul (strict_strtoul)
    (+0.000ms): simple_strtoul (strict_strtoul)
@@ -472,7 +467,7 @@ Here are the available options:
		the app is no longer running
		the app is no longer running


		The lookup is performed when you read
		The lookup is performed when you read
		trace,trace_pipe,latency_trace. Example:
		trace,trace_pipe. Example:


		a.out-1623  [000] 40874.465068: /root/a.out[+0x480] <-/root/a.out[+0
		a.out-1623  [000] 40874.465068: /root/a.out[+0x480] <-/root/a.out[+0
x494] <- /root/a.out[+0x4a8] <- /lib/libc-2.7.so[+0x1e1a6]
x494] <- /root/a.out[+0x4a8] <- /lib/libc-2.7.so[+0x1e1a6]
@@ -481,6 +476,11 @@ x494] <- /root/a.out[+0x4a8] <- /lib/libc-2.7.so[+0x1e1a6]
	       every scheduling event. Will add overhead if
	       every scheduling event. Will add overhead if
	       there's a lot of tasks running at once.
	       there's a lot of tasks running at once.


  latency-format - This option changes the trace. When
                   it is enabled, the trace displays
                   additional information about the
                   latencies, as described in "Latency
                   trace format".


sched_switch
sched_switch
------------
------------
@@ -596,12 +596,13 @@ To reset the maximum, echo 0 into tracing_max_latency. Here is
an example:
an example:


 # echo irqsoff > current_tracer
 # echo irqsoff > current_tracer
 # echo latency-format > trace_options
 # echo 0 > tracing_max_latency
 # echo 0 > tracing_max_latency
 # echo 1 > tracing_enabled
 # echo 1 > tracing_enabled
 # ls -ltr
 # ls -ltr
 [...]
 [...]
 # echo 0 > tracing_enabled
 # echo 0 > tracing_enabled
 # cat latency_trace
 # cat trace
# tracer: irqsoff
# tracer: irqsoff
#
#
irqsoff latency trace v1.1.5 on 2.6.26
irqsoff latency trace v1.1.5 on 2.6.26
@@ -703,12 +704,13 @@ which preemption was disabled. The control of preemptoff tracer
is much like the irqsoff tracer.
is much like the irqsoff tracer.


 # echo preemptoff > current_tracer
 # echo preemptoff > current_tracer
 # echo latency-format > trace_options
 # echo 0 > tracing_max_latency
 # echo 0 > tracing_max_latency
 # echo 1 > tracing_enabled
 # echo 1 > tracing_enabled
 # ls -ltr
 # ls -ltr
 [...]
 [...]
 # echo 0 > tracing_enabled
 # echo 0 > tracing_enabled
 # cat latency_trace
 # cat trace
# tracer: preemptoff
# tracer: preemptoff
#
#
preemptoff latency trace v1.1.5 on 2.6.26-rc8
preemptoff latency trace v1.1.5 on 2.6.26-rc8
@@ -850,12 +852,13 @@ Again, using this trace is much like the irqsoff and preemptoff
tracers.
tracers.


 # echo preemptirqsoff > current_tracer
 # echo preemptirqsoff > current_tracer
 # echo latency-format > trace_options
 # echo 0 > tracing_max_latency
 # echo 0 > tracing_max_latency
 # echo 1 > tracing_enabled
 # echo 1 > tracing_enabled
 # ls -ltr
 # ls -ltr
 [...]
 [...]
 # echo 0 > tracing_enabled
 # echo 0 > tracing_enabled
 # cat latency_trace
 # cat trace
# tracer: preemptirqsoff
# tracer: preemptirqsoff
#
#
preemptirqsoff latency trace v1.1.5 on 2.6.26-rc8
preemptirqsoff latency trace v1.1.5 on 2.6.26-rc8
@@ -1012,11 +1015,12 @@ Instead of performing an 'ls', we will run 'sleep 1' under
'chrt' which changes the priority of the task.
'chrt' which changes the priority of the task.


 # echo wakeup > current_tracer
 # echo wakeup > current_tracer
 # echo latency-format > trace_options
 # echo 0 > tracing_max_latency
 # echo 0 > tracing_max_latency
 # echo 1 > tracing_enabled
 # echo 1 > tracing_enabled
 # chrt -f 5 sleep 1
 # chrt -f 5 sleep 1
 # echo 0 > tracing_enabled
 # echo 0 > tracing_enabled
 # cat latency_trace
 # cat trace
# tracer: wakeup
# tracer: wakeup
#
#
wakeup latency trace v1.1.5 on 2.6.26-rc8
wakeup latency trace v1.1.5 on 2.6.26-rc8
Loading