You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
+10
-3
@@ -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 @@
|
|||||||
*.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
|
|||||||
|
|
||||||
# cscope files
|
# cscope files
|
||||||
cscope.*
|
cscope.*
|
||||||
|
ncscope.*
|
||||||
|
|
||||||
*.orig
|
*.orig
|
||||||
*.rej
|
|
||||||
*~
|
*~
|
||||||
\#*#
|
\#*#
|
||||||
|
|||||||
@@ -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
|
|||||||
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 @@
|
|||||||
</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>
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
kgdb is a source level debugger for linux kernel. It is used along
|
kgdb is a source level debugger for linux kernel. It is used along
|
||||||
with gdb to debug a linux kernel. The expectation is that gdb can
|
with gdb to debug a linux kernel. The expectation is that gdb can
|
||||||
be used to "break in" to the kernel to inspect memory, variables
|
be used to "break in" to the kernel to inspect memory, variables
|
||||||
and look through a cal stack information similar to what an
|
and look through call stack information similar to what an
|
||||||
application developer would use gdb for. It is possible to place
|
application developer would use gdb for. It is possible to place
|
||||||
breakpoints in kernel code and perform some limited execution
|
breakpoints in kernel code and perform some limited execution
|
||||||
stepping.
|
stepping.
|
||||||
@@ -84,17 +84,18 @@
|
|||||||
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">
|
||||||
<title>Compiling a kernel</title>
|
<title>Compiling a kernel</title>
|
||||||
<para>
|
<para>
|
||||||
To enable <symbol>CONFIG_KGDB</symbol>, look under the "Kernel debugging"
|
To enable <symbol>CONFIG_KGDB</symbol> you should first turn on
|
||||||
and then select "KGDB: kernel debugging with remote gdb".
|
"Prompt for development and/or incomplete code/drivers"
|
||||||
|
(CONFIG_EXPERIMENTAL) in "General setup", then under the
|
||||||
|
"Kernel debugging" select "KGDB: kernel debugging with remote gdb".
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Next you should choose one of more I/O drivers to interconnect debugging
|
Next you should choose one of more I/O drivers to interconnect debugging
|
||||||
@@ -221,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>
|
||||||
@@ -247,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
|
||||||
|
|||||||
@@ -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:
|
|||||||
|
|
||||||
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 {
|
|||||||
__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 @@
|
|||||||
===================================
|
===================================
|
||||||
|
|
||||||
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
|
|||||||
1. DRIVER INFORMATION
|
1. DRIVER INFORMATION
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
This driver support one cfag12864b display at time.
|
This driver supports a cfag12864b LCD.
|
||||||
|
|
||||||
|
|
||||||
---------------------
|
---------------------
|
||||||
|
|||||||
@@ -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 @@
|
|||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
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
|
|||||||
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:
|
|||||||
* 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:
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|||||||
@@ -310,8 +310,8 @@ and then start a subshell 'sh' in that cgroup:
|
|||||||
cd /dev/cgroup
|
cd /dev/cgroup
|
||||||
mkdir Charlie
|
mkdir Charlie
|
||||||
cd Charlie
|
cd Charlie
|
||||||
/bin/echo 2-3 > cpus
|
/bin/echo 2-3 > cpuset.cpus
|
||||||
/bin/echo 1 > mems
|
/bin/echo 1 > cpuset.mems
|
||||||
/bin/echo $$ > tasks
|
/bin/echo $$ > tasks
|
||||||
sh
|
sh
|
||||||
# The subshell 'sh' is now running in cgroup Charlie
|
# The subshell 'sh' is now running in cgroup Charlie
|
||||||
@@ -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
|
|||||||
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
|
|||||||
|
|
||||||
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
|
|||||||
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
|
|||||||
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.
|
|||||||
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
|
|||||||
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.
|
|||||||
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.
|
|||||||
|
|
||||||
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
|
||||||
|
|||||||
@@ -289,6 +289,14 @@ Who: Glauber Costa <gcosta@redhat.com>
|
|||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
What: old style serial driver for ColdFire (CONFIG_SERIAL_COLDFIRE)
|
||||||
|
When: 2.6.28
|
||||||
|
Why: This driver still uses the old interface and has been replaced
|
||||||
|
by CONFIG_SERIAL_MCF.
|
||||||
|
Who: Sebastian Siewior <sebastian@breakpoint.cc>
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
What: /sys/o2cb symlink
|
What: /sys/o2cb symlink
|
||||||
When: January 2010
|
When: January 2010
|
||||||
Why: /sys/fs/o2cb is the proper location for this information - /sys/o2cb
|
Why: /sys/fs/o2cb is the proper location for this information - /sys/o2cb
|
||||||
@@ -304,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>
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ prototypes:
|
|||||||
void (*destroy_inode)(struct inode *);
|
void (*destroy_inode)(struct inode *);
|
||||||
void (*dirty_inode) (struct inode *);
|
void (*dirty_inode) (struct inode *);
|
||||||
int (*write_inode) (struct inode *, int);
|
int (*write_inode) (struct inode *, int);
|
||||||
void (*put_inode) (struct inode *);
|
|
||||||
void (*drop_inode) (struct inode *);
|
void (*drop_inode) (struct inode *);
|
||||||
void (*delete_inode) (struct inode *);
|
void (*delete_inode) (struct inode *);
|
||||||
void (*put_super) (struct super_block *);
|
void (*put_super) (struct super_block *);
|
||||||
@@ -115,7 +114,6 @@ alloc_inode: no no no
|
|||||||
destroy_inode: no
|
destroy_inode: no
|
||||||
dirty_inode: no (must not sleep)
|
dirty_inode: no (must not sleep)
|
||||||
write_inode: no
|
write_inode: no
|
||||||
put_inode: no
|
|
||||||
drop_inode: no !!!inode_lock!!!
|
drop_inode: no !!!inode_lock!!!
|
||||||
delete_inode: no
|
delete_inode: no
|
||||||
put_super: yes yes no
|
put_super: yes yes no
|
||||||
|
|||||||
@@ -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.
|
|||||||
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)
|
||||||
|
|||||||
@@ -205,7 +205,6 @@ struct super_operations {
|
|||||||
|
|
||||||
void (*dirty_inode) (struct inode *);
|
void (*dirty_inode) (struct inode *);
|
||||||
int (*write_inode) (struct inode *, int);
|
int (*write_inode) (struct inode *, int);
|
||||||
void (*put_inode) (struct inode *);
|
|
||||||
void (*drop_inode) (struct inode *);
|
void (*drop_inode) (struct inode *);
|
||||||
void (*delete_inode) (struct inode *);
|
void (*delete_inode) (struct inode *);
|
||||||
void (*put_super) (struct super_block *);
|
void (*put_super) (struct super_block *);
|
||||||
@@ -246,9 +245,6 @@ or bottom half).
|
|||||||
inode to disc. The second parameter indicates whether the write
|
inode to disc. The second parameter indicates whether the write
|
||||||
should be synchronous or not, not all filesystems check this flag.
|
should be synchronous or not, not all filesystems check this flag.
|
||||||
|
|
||||||
put_inode: called when the VFS inode is removed from the inode
|
|
||||||
cache.
|
|
||||||
|
|
||||||
drop_inode: called when the last access to the inode is dropped,
|
drop_inode: called when the last access to the inode is dropped,
|
||||||
with the inode_lock spinlock held.
|
with the inode_lock spinlock held.
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user