Commit 2fceef39 authored by Jonathan Corbet's avatar Jonathan Corbet
Browse files

Merge commit 'v2.6.26' into bkl-removal

parents feae1ef1 bce7f793
...@@ -3,6 +3,10 @@ ...@@ -3,6 +3,10 @@
# subdirectories here. Add them in the ".gitignore" file # subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead. # in that subdirectory instead.
# #
# NOTE! Please use 'git-ls-files -i --exclude-standard'
# command after changing this file, to see if there are
# any tracked files which get ignored after the change.
#
# Normal rules # Normal rules
# #
.* .*
...@@ -18,18 +22,21 @@ ...@@ -18,18 +22,21 @@
*.lst *.lst
*.symtypes *.symtypes
*.order *.order
*.elf
*.bin
*.gz
# #
# Top-level generic files # Top-level generic files
# #
tags tags
TAGS TAGS
vmlinux* vmlinux
!vmlinux.lds.S
System.map System.map
Module.markers Module.markers
Module.symvers Module.symvers
!.gitignore !.gitignore
!.mailmap
# #
# Generated include files # Generated include files
...@@ -52,8 +59,8 @@ series ...@@ -52,8 +59,8 @@ series
# cscope files # cscope files
cscope.* cscope.*
ncscope.*
*.orig *.orig
*.rej
*~ *~
\#*# \#*#
...@@ -2611,8 +2611,9 @@ S: Perth, Western Australia ...@@ -2611,8 +2611,9 @@ S: Perth, Western Australia
S: Australia S: Australia
N: Miguel Ojeda Sandonis N: Miguel Ojeda Sandonis
E: maxextreme@gmail.com E: miguel.ojeda.sandonis@gmail.com
W: http://maxextreme.googlepages.com/ W: http://miguelojeda.es
W: http://jair.lab.fi.uva.es/~migojed/
D: Author of the ks0108, cfag12864b and cfag12864bfb auxiliary display drivers. D: Author of the ks0108, cfag12864b and cfag12864bfb auxiliary display drivers.
D: Maintainer of the auxiliary display drivers tree (drivers/auxdisplay/*) D: Maintainer of the auxiliary display drivers tree (drivers/auxdisplay/*)
S: C/ Mieses 20, 9-B S: C/ Mieses 20, 9-B
......
...@@ -14,6 +14,10 @@ MAJOR:MINOR ...@@ -14,6 +14,10 @@ MAJOR:MINOR
non-block filesystems which provide their own BDI, such as NFS non-block filesystems which provide their own BDI, such as NFS
and FUSE. and FUSE.
MAJOR:MINOR-fuseblk
Value of st_dev on fuseblk filesystems.
default default
The default backing dev, used for non-block device backed The default backing dev, used for non-block device backed
......
...@@ -703,6 +703,31 @@ ...@@ -703,6 +703,31 @@
</sect1> </sect1>
</chapter> </chapter>
<chapter id="trylock-functions">
<title>The trylock Functions</title>
<para>
There are functions that try to acquire a lock only once and immediately
return a value telling about success or failure to acquire the lock.
They can be used if you need no access to the data protected with the lock
when some other thread is holding the lock. You should acquire the lock
later if you then need access to the data protected with the lock.
</para>
<para>
<function>spin_trylock()</function> does not spin but returns non-zero if
it acquires the spinlock on the first try or 0 if not. This function can
be used in all contexts like <function>spin_lock</function>: you must have
disabled the contexts that might interrupt you and acquire the spin lock.
</para>
<para>
<function>mutex_trylock()</function> does not suspend your task
but returns non-zero if it could lock the mutex on the first try
or 0 if not. This function cannot be safely used in hardware or software
interrupt contexts despite not sleeping.
</para>
</chapter>
<chapter id="Examples"> <chapter id="Examples">
<title>Common Examples</title> <title>Common Examples</title>
<para> <para>
......
...@@ -84,10 +84,9 @@ ...@@ -84,10 +84,9 @@
runs an instance of gdb against the vmlinux file which contains runs an instance of gdb against the vmlinux file which contains
the symbols (not boot image such as bzImage, zImage, uImage...). the symbols (not boot image such as bzImage, zImage, uImage...).
In gdb the developer specifies the connection parameters and In gdb the developer specifies the connection parameters and
connects to kgdb. Depending on which kgdb I/O modules exist in connects to kgdb. The type of connection a developer makes with
the kernel for a given architecture, it may be possible to debug gdb depends on the availability of kgdb I/O modules compiled as
the test machine's kernel with the development machine using a builtin's or kernel modules in the test machine's kernel.
rs232 or ethernet connection.
</para> </para>
</chapter> </chapter>
<chapter id="CompilingAKernel"> <chapter id="CompilingAKernel">
...@@ -223,7 +222,7 @@ ...@@ -223,7 +222,7 @@
</para> </para>
<para> <para>
IMPORTANT NOTE: Using this option with kgdb over the console IMPORTANT NOTE: Using this option with kgdb over the console
(kgdboc) or kgdb over ethernet (kgdboe) is not supported. (kgdboc) is not supported.
</para> </para>
</sect1> </sect1>
</chapter> </chapter>
...@@ -249,18 +248,11 @@ ...@@ -249,18 +248,11 @@
(gdb) target remote /dev/ttyS0 (gdb) target remote /dev/ttyS0
</programlisting> </programlisting>
<para> <para>
Example (kgdb to a terminal server): Example (kgdb to a terminal server on tcp port 2012):
</para> </para>
<programlisting> <programlisting>
% gdb ./vmlinux % gdb ./vmlinux
(gdb) target remote udp:192.168.2.2:6443 (gdb) target remote 192.168.2.2:2012
</programlisting>
<para>
Example (kgdb over ethernet):
</para>
<programlisting>
% gdb ./vmlinux
(gdb) target remote udp:192.168.2.2:6443
</programlisting> </programlisting>
<para> <para>
Once connected, you can debug a kernel the way you would debug an Once connected, you can debug a kernel the way you would debug an
......
...@@ -377,7 +377,7 @@ Bug Reporting ...@@ -377,7 +377,7 @@ Bug Reporting
bugzilla.kernel.org is where the Linux kernel developers track kernel bugzilla.kernel.org is where the Linux kernel developers track kernel
bugs. Users are encouraged to report all bugs that they find in this bugs. Users are encouraged to report all bugs that they find in this
tool. For details on how to use the kernel bugzilla, please see: tool. For details on how to use the kernel bugzilla, please see:
http://test.kernel.org/bugzilla/faq.html http://bugzilla.kernel.org/page.cgi?id=faq.html
The file REPORTING-BUGS in the main kernel source directory has a good The file REPORTING-BUGS in the main kernel source directory has a good
template for how to report a possible kernel bug, and details what kind template for how to report a possible kernel bug, and details what kind
......
...@@ -327,6 +327,52 @@ Some people also put extra tags at the end. They'll just be ignored for ...@@ -327,6 +327,52 @@ Some people also put extra tags at the end. They'll just be ignored for
now, but you can do this to mark internal company procedures or just now, but you can do this to mark internal company procedures or just
point out some special detail about the sign-off. point out some special detail about the sign-off.
If you are a subsystem or branch maintainer, sometimes you need to slightly
modify patches you receive in order to merge them, because the code is not
exactly the same in your tree and the submitters'. If you stick strictly to
rule (c), you should ask the submitter to rediff, but this is a totally
counter-productive waste of time and energy. Rule (b) allows you to adjust
the code, but then it is very impolite to change one submitter's code and
make him endorse your bugs. To solve this problem, it is recommended that
you add a line between the last Signed-off-by header and yours, indicating
the nature of your changes. While there is nothing mandatory about this, it
seems like prepending the description with your mail and/or name, all
enclosed in square brackets, is noticeable enough to make it obvious that
you are responsible for last-minute changes. Example :
Signed-off-by: Random J Developer <random@developer.example.org>
[lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>
This practise is particularly helpful if you maintain a stable branch and
want at the same time to credit the author, track changes, merge the fix,
and protect the submitter from complaints. Note that under no circumstances
can you change the author's identity (the From header), as it is the one
which appears in the changelog.
Special note to back-porters: It seems to be a common and useful practise
to insert an indication of the origin of a patch at the top of the commit
message (just after the subject line) to facilitate tracking. For instance,
here's what we see in 2.6-stable :
Date: Tue May 13 19:10:30 2008 +0000
SCSI: libiscsi regression in 2.6.25: fix nop timer handling
commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream
And here's what appears in 2.4 :
Date: Tue May 13 22:12:27 2008 +0200
wireless, airo: waitbusy() won't delay
[backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]
Whatever the format, this information provides a valuable help to people
tracking your trees, and to people trying to trouble-shoot bugs in your
tree.
13) When to use Acked-by: and Cc: 13) When to use Acked-by: and Cc:
......
...@@ -24,6 +24,8 @@ There are three different groups of fields in the struct taskstats: ...@@ -24,6 +24,8 @@ There are three different groups of fields in the struct taskstats:
4) Per-task and per-thread context switch count statistics 4) Per-task and per-thread context switch count statistics
5) Time accounting for SMT machines
Future extension should add fields to the end of the taskstats struct, and Future extension should add fields to the end of the taskstats struct, and
should not change the relative position of each field within the struct. should not change the relative position of each field within the struct.
...@@ -164,4 +166,8 @@ struct taskstats { ...@@ -164,4 +166,8 @@ struct taskstats {
__u64 nvcsw; /* Context voluntary switch counter */ __u64 nvcsw; /* Context voluntary switch counter */
__u64 nivcsw; /* Context involuntary switch counter */ __u64 nivcsw; /* Context involuntary switch counter */
5) Time accounting for SMT machines
__u64 ac_utimescaled; /* utime scaled on frequency etc */
__u64 ac_stimescaled; /* stime scaled on frequency etc */
__u64 cpu_scaled_run_real_total; /* scaled cpu_run_real_total */
} }
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
=================================== ===================================
License: GPLv2 License: GPLv2
Author & Maintainer: Miguel Ojeda Sandonis <maxextreme@gmail.com> Author & Maintainer: Miguel Ojeda Sandonis
Date: 2006-10-27 Date: 2006-10-27
...@@ -22,7 +22,7 @@ Date: 2006-10-27 ...@@ -22,7 +22,7 @@ Date: 2006-10-27
1. DRIVER INFORMATION 1. DRIVER INFORMATION
--------------------- ---------------------
This driver support one cfag12864b display at time. This driver supports a cfag12864b LCD.
--------------------- ---------------------
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Description: cfag12864b LCD userspace example program * Description: cfag12864b LCD userspace example program
* License: GPLv2 * License: GPLv2
* *
* Author: Copyright (C) Miguel Ojeda Sandonis <maxextreme@gmail.com> * Author: Copyright (C) Miguel Ojeda Sandonis
* Date: 2006-10-31 * Date: 2006-10-31
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
========================================== ==========================================
License: GPLv2 License: GPLv2
Author & Maintainer: Miguel Ojeda Sandonis <maxextreme@gmail.com> Author & Maintainer: Miguel Ojeda Sandonis
Date: 2006-10-27 Date: 2006-10-27
...@@ -21,7 +21,7 @@ Date: 2006-10-27 ...@@ -21,7 +21,7 @@ Date: 2006-10-27
1. DRIVER INFORMATION 1. DRIVER INFORMATION
--------------------- ---------------------
This driver support the ks0108 LCD controller. This driver supports the ks0108 LCD controller.
--------------------- ---------------------
......
...@@ -21,6 +21,11 @@ This driver is known to work with the following cards: ...@@ -21,6 +21,11 @@ This driver is known to work with the following cards:
* SA E200 * SA E200
* SA E200i * SA E200i
* SA E500 * SA E500
* SA P212
* SA P410
* SA P410i
* SA P411
* SA P812
Detecting drive failures: Detecting drive failures:
------------------------- -------------------------
......
...@@ -390,6 +390,10 @@ If you have several tasks to attach, you have to do it one after another: ...@@ -390,6 +390,10 @@ If you have several tasks to attach, you have to do it one after another:
... ...
# /bin/echo PIDn > tasks # /bin/echo PIDn > tasks
You can attach the current shell task by echoing 0:
# echo 0 > tasks
3. Kernel API 3. Kernel API
============= =============
......
...@@ -13,7 +13,7 @@ either an integer or * for all. Access is a composition of r ...@@ -13,7 +13,7 @@ either an integer or * for all. Access is a composition of r
The root device cgroup starts with rwm to 'all'. A child device The root device cgroup starts with rwm to 'all'. A child device
cgroup gets a copy of the parent. Administrators can then remove cgroup gets a copy of the parent. Administrators can then remove
devices from the whitelist or add new entries. A child cgroup can devices from the whitelist or add new entries. A child cgroup can
never receive a device access which is denied its parent. However never receive a device access which is denied by its parent. However
when a device access is removed from a parent it will not also be when a device access is removed from a parent it will not also be
removed from the child(ren). removed from the child(ren).
...@@ -29,7 +29,11 @@ allows cgroup 1 to read and mknod the device usually known as ...@@ -29,7 +29,11 @@ allows cgroup 1 to read and mknod the device usually known as
echo a > /cgroups/1/devices.deny echo a > /cgroups/1/devices.deny
will remove the default 'a *:* mrw' entry. will remove the default 'a *:* rwm' entry. Doing
echo a > /cgroups/1/devices.allow
will add the 'a *:* rwm' entry to the whitelist.
3. Security 3. Security
......
...@@ -129,14 +129,6 @@ to its default value of '80' it means that between the checking ...@@ -129,14 +129,6 @@ to its default value of '80' it means that between the checking
intervals the CPU needs to be on average more than 80% in use to then intervals the CPU needs to be on average more than 80% in use to then
decide that the CPU frequency needs to be increased. decide that the CPU frequency needs to be increased.
sampling_down_factor: this parameter controls the rate that the CPU
makes a decision on when to decrease the frequency. When set to its
default value of '5' it means that at 1/5 the sampling_rate the kernel
makes a decision to lower the frequency. Five "lower rate" decisions
have to be made in a row before the CPU frequency is actually lower.
If set to '1' then the frequency decreases as quickly as it increases,
if set to '2' it decreases at half the rate of the increase.
ignore_nice_load: this parameter takes a value of '0' or '1'. When ignore_nice_load: this parameter takes a value of '0' or '1'. When
set to '0' (its default), all processes are counted towards the set to '0' (its default), all processes are counted towards the
'cpu utilisation' value. When set to '1', the processes that are 'cpu utilisation' value. When set to '1', the processes that are
......
...@@ -154,13 +154,15 @@ browsing and modifying the cpusets presently known to the kernel. No ...@@ -154,13 +154,15 @@ browsing and modifying the cpusets presently known to the kernel. No
new system calls are added for cpusets - all support for querying and new system calls are added for cpusets - all support for querying and
modifying cpusets is via this cpuset file system. modifying cpusets is via this cpuset file system.
The /proc/<pid>/status file for each task has two added lines, The /proc/<pid>/status file for each task has four added lines,
displaying the tasks cpus_allowed (on which CPUs it may be scheduled) displaying the tasks cpus_allowed (on which CPUs it may be scheduled)
and mems_allowed (on which Memory Nodes it may obtain memory), and mems_allowed (on which Memory Nodes it may obtain memory),
in the format seen in the following example: in the two formats seen in the following example:
Cpus_allowed: ffffffff,ffffffff,ffffffff,ffffffff Cpus_allowed: ffffffff,ffffffff,ffffffff,ffffffff
Cpus_allowed_list: 0-127
Mems_allowed: ffffffff,ffffffff Mems_allowed: ffffffff,ffffffff
Mems_allowed_list: 0-63
Each cpuset is represented by a directory in the cgroup file system Each cpuset is represented by a directory in the cgroup file system
containing (on top of the standard cgroup files) the following containing (on top of the standard cgroup files) the following
...@@ -199,7 +201,7 @@ using the sched_setaffinity, mbind and set_mempolicy system calls. ...@@ -199,7 +201,7 @@ using the sched_setaffinity, mbind and set_mempolicy system calls.
The following rules apply to each cpuset: The following rules apply to each cpuset:
- Its CPUs and Memory Nodes must be a subset of its parents. - Its CPUs and Memory Nodes must be a subset of its parents.
- It can only be marked exclusive if its parent is. - It can't be marked exclusive unless its parent is.
- If its cpu or memory is exclusive, they may not overlap any sibling. - If its cpu or memory is exclusive, they may not overlap any sibling.
These rules, and the natural hierarchy of cpusets, enable efficient These rules, and the natural hierarchy of cpusets, enable efficient
...@@ -345,7 +347,7 @@ is modified to perform an inline check for this PF_SPREAD_PAGE task ...@@ -345,7 +347,7 @@ is modified to perform an inline check for this PF_SPREAD_PAGE task
flag, and if set, a call to a new routine cpuset_mem_spread_node() flag, and if set, a call to a new routine cpuset_mem_spread_node()
returns the node to prefer for the allocation. returns the node to prefer for the allocation.
Similarly, setting 'memory_spread_cache' turns on the flag Similarly, setting 'memory_spread_slab' turns on the flag
PF_SPREAD_SLAB, and appropriately marked slab caches will allocate PF_SPREAD_SLAB, and appropriately marked slab caches will allocate
pages from the node returned by cpuset_mem_spread_node(). pages from the node returned by cpuset_mem_spread_node().
...@@ -542,7 +544,10 @@ otherwise initial value -1 that indicates the cpuset has no request. ...@@ -542,7 +544,10 @@ otherwise initial value -1 that indicates the cpuset has no request.
2 : search cores in a package. 2 : search cores in a package.
3 : search cpus in a node [= system wide on non-NUMA system] 3 : search cpus in a node [= system wide on non-NUMA system]
( 4 : search nodes in a chunk of node [on NUMA system] ) ( 4 : search nodes in a chunk of node [on NUMA system] )
( 5~ : search system wide [on NUMA system]) ( 5 : search system wide [on NUMA system] )
The system default is architecture dependent. The system default
can be changed using the relax_domain_level= boot parameter.
This file is per-cpuset and affect the sched domain where the cpuset This file is per-cpuset and affect the sched domain where the cpuset
belongs to. Therefore if the flag 'sched_load_balance' of a cpuset belongs to. Therefore if the flag 'sched_load_balance' of a cpuset
...@@ -709,7 +714,10 @@ Now you want to do something with this cpuset. ...@@ -709,7 +714,10 @@ Now you want to do something with this cpuset.
In this directory you can find several files: In this directory you can find several files:
# ls # ls
cpus cpu_exclusive mems mem_exclusive mem_hardwall tasks cpu_exclusive memory_migrate mems tasks
cpus memory_pressure notify_on_release
mem_exclusive memory_spread_page sched_load_balance
mem_hardwall memory_spread_slab sched_relax_domain_level
Reading them will give you information about the state of this cpuset: Reading them will give you information about the state of this cpuset:
the CPUs and Memory Nodes it can use, the processes that are using the CPUs and Memory Nodes it can use, the processes that are using
......
...@@ -312,3 +312,12 @@ When: 2.6.26 ...@@ -312,3 +312,12 @@ When: 2.6.26
Why: Implementation became generic; users should now include Why: Implementation became generic; users should now include
linux/semaphore.h instead. linux/semaphore.h instead.
Who: Matthew Wilcox <willy@linux.intel.com> Who: Matthew Wilcox <willy@linux.intel.com>
---------------------------
What: CONFIG_THERMAL_HWMON
When: January 2009
Why: This option was introduced just to allow older lm-sensors userspace
to keep working over the upgrade to 2.6.26. At the scheduled time of
removal fixed lm-sensors (2.x or 3.x) should be readily available.
Who: Rene Herman <rene.herman@gmail.com>
...@@ -139,8 +139,16 @@ commit=nrsec (*) Ext4 can be told to sync all its data and metadata ...@@ -139,8 +139,16 @@ commit=nrsec (*) Ext4 can be told to sync all its data and metadata
Setting it to very large values will improve Setting it to very large values will improve
performance. performance.
barrier=1 This enables/disables barriers. barrier=0 disables barrier=<0|1(*)> This enables/disables the use of write barriers in
it, barrier=1 enables it. the jbd code. barrier=0 disables, barrier=1 enables.
This also requires an IO stack which can support
barriers, and if jbd gets an error on a barrier
write, it will disable again with a warning.
Write barriers enforce proper on-disk ordering
of journal commits, making volatile disk write caches
safe to use, at some performance penalty. If
your disks are battery-backed in one way or another,
disabling barriers may safely improve performance.
orlov (*) This enables the new Orlov block allocator. It is orlov (*) This enables the new Orlov block allocator. It is
enabled by default. enabled by default.
......
...@@ -36,6 +36,7 @@ files, each with their own function. ...@@ -36,6 +36,7 @@ files, each with their own function.
local_cpus nearby CPU mask (cpumask, ro) local_cpus nearby CPU mask (cpumask, ro)
resource PCI resource host addresses (ascii, ro) resource PCI resource host addresses (ascii, ro)
resource0..N PCI resource N, if present (binary, mmap) resource0..N PCI resource N, if present (binary, mmap)
resource0_wc..N_wc PCI WC map resource N, if prefetchable (binary, mmap)
rom PCI ROM resource, if present (binary, ro) rom PCI ROM resource, if present (binary, ro)
subsystem_device PCI subsystem device (ascii, ro) subsystem_device PCI subsystem device (ascii, ro)
subsystem_vendor PCI subsystem vendor (ascii, ro) subsystem_vendor PCI subsystem vendor (ascii, ro)
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment