diff options
author | David S. Miller <davem@davemloft.net> | 2012-05-07 23:35:40 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-07 23:35:40 -0400 |
commit | 0d6c4a2e4641bbc556dd74d3aa158c413a972492 (patch) | |
tree | da944af17682659bb433dc2282dcb48380c14cd1 /Documentation | |
parent | 6e06c0e2347ec79d0bd5702b2438fe883f784545 (diff) | |
parent | 1c430a727fa512500a422ffe4712166c550ea06a (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/intel/e1000e/param.c
drivers/net/wireless/iwlwifi/iwl-agn-rx.c
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
drivers/net/wireless/iwlwifi/iwl-trans.h
Resolved the iwlwifi conflict with mainline using 3-way diff posted
by John Linville and Stephen Rothwell. In 'net' we added a bug
fix to make iwlwifi report a more accurate skb->truesize but this
conflicted with RX path changes that happened meanwhile in net-next.
In e1000e a conflict arose in the validation code for settings of
adapter->itr. 'net-next' had more sophisticated logic so that
logic was used.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-hsi | 19 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/ata/ahci-platform.txt (renamed from Documentation/devicetree/bindings/ata/calxeda-sata.txt) | 5 | ||||
-rw-r--r-- | Documentation/networking/ip-sysctl.txt | 4 | ||||
-rw-r--r-- | Documentation/power/freezing-of-tasks.txt | 37 | ||||
-rw-r--r-- | Documentation/security/keys.txt | 14 |
5 files changed, 55 insertions, 24 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-hsi b/Documentation/ABI/testing/sysfs-bus-hsi new file mode 100644 index 000000000000..1b1b282a99e1 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-hsi | |||
@@ -0,0 +1,19 @@ | |||
1 | What: /sys/bus/hsi | ||
2 | Date: April 2012 | ||
3 | KernelVersion: 3.4 | ||
4 | Contact: Carlos Chinea <carlos.chinea@nokia.com> | ||
5 | Description: | ||
6 | High Speed Synchronous Serial Interface (HSI) is a | ||
7 | serial interface mainly used for connecting application | ||
8 | engines (APE) with cellular modem engines (CMT) in cellular | ||
9 | handsets. | ||
10 | The bus will be populated with devices (hsi_clients) representing | ||
11 | the protocols available in the system. Bus drivers implement | ||
12 | those protocols. | ||
13 | |||
14 | What: /sys/bus/hsi/devices/.../modalias | ||
15 | Date: April 2012 | ||
16 | KernelVersion: 3.4 | ||
17 | Contact: Carlos Chinea <carlos.chinea@nokia.com> | ||
18 | Description: Stores the same MODALIAS value emitted by uevent | ||
19 | Format: hsi:<hsi_client device name> | ||
diff --git a/Documentation/devicetree/bindings/ata/calxeda-sata.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index 79caa5651f53..8bb8a76d42e8 100644 --- a/Documentation/devicetree/bindings/ata/calxeda-sata.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt | |||
@@ -1,10 +1,10 @@ | |||
1 | * Calxeda SATA Controller | 1 | * AHCI SATA Controller |
2 | 2 | ||
3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. |
4 | Each SATA controller should have its own node. | 4 | Each SATA controller should have its own node. |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible : compatible list, contains "calxeda,hb-ahci" | 7 | - compatible : compatible list, contains "calxeda,hb-ahci" or "snps,spear-ahci" |
8 | - interrupts : <interrupt mapping for SATA IRQ> | 8 | - interrupts : <interrupt mapping for SATA IRQ> |
9 | - reg : <registers mapping> | 9 | - reg : <registers mapping> |
10 | 10 | ||
@@ -14,4 +14,3 @@ Example: | |||
14 | reg = <0xffe08000 0x1000>; | 14 | reg = <0xffe08000 0x1000>; |
15 | interrupts = <115>; | 15 | interrupts = <115>; |
16 | }; | 16 | }; |
17 | |||
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index 34916e792d9d..90b0c4fd275b 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -147,7 +147,7 @@ tcp_adv_win_scale - INTEGER | |||
147 | (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), | 147 | (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), |
148 | if it is <= 0. | 148 | if it is <= 0. |
149 | Possible values are [-31, 31], inclusive. | 149 | Possible values are [-31, 31], inclusive. |
150 | Default: 2 | 150 | Default: 1 |
151 | 151 | ||
152 | tcp_allowed_congestion_control - STRING | 152 | tcp_allowed_congestion_control - STRING |
153 | Show/set the congestion control choices available to non-privileged | 153 | Show/set the congestion control choices available to non-privileged |
@@ -424,7 +424,7 @@ tcp_rmem - vector of 3 INTEGERs: min, default, max | |||
424 | net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables | 424 | net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables |
425 | automatic tuning of that socket's receive buffer size, in which | 425 | automatic tuning of that socket's receive buffer size, in which |
426 | case this value is ignored. | 426 | case this value is ignored. |
427 | Default: between 87380B and 4MB, depending on RAM size. | 427 | Default: between 87380B and 6MB, depending on RAM size. |
428 | 428 | ||
429 | tcp_sack - BOOLEAN | 429 | tcp_sack - BOOLEAN |
430 | Enable select acknowledgments (SACKS). | 430 | Enable select acknowledgments (SACKS). |
diff --git a/Documentation/power/freezing-of-tasks.txt b/Documentation/power/freezing-of-tasks.txt index ec715cd78fbb..6ec291ea1c78 100644 --- a/Documentation/power/freezing-of-tasks.txt +++ b/Documentation/power/freezing-of-tasks.txt | |||
@@ -9,7 +9,7 @@ architectures). | |||
9 | 9 | ||
10 | II. How does it work? | 10 | II. How does it work? |
11 | 11 | ||
12 | There are four per-task flags used for that, PF_NOFREEZE, PF_FROZEN, TIF_FREEZE | 12 | There are three per-task flags used for that, PF_NOFREEZE, PF_FROZEN |
13 | and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have | 13 | and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have |
14 | PF_NOFREEZE unset (all user space processes and some kernel threads) are | 14 | PF_NOFREEZE unset (all user space processes and some kernel threads) are |
15 | regarded as 'freezable' and treated in a special way before the system enters a | 15 | regarded as 'freezable' and treated in a special way before the system enters a |
@@ -17,30 +17,31 @@ suspend state as well as before a hibernation image is created (in what follows | |||
17 | we only consider hibernation, but the description also applies to suspend). | 17 | we only consider hibernation, but the description also applies to suspend). |
18 | 18 | ||
19 | Namely, as the first step of the hibernation procedure the function | 19 | Namely, as the first step of the hibernation procedure the function |
20 | freeze_processes() (defined in kernel/power/process.c) is called. It executes | 20 | freeze_processes() (defined in kernel/power/process.c) is called. A system-wide |
21 | try_to_freeze_tasks() that sets TIF_FREEZE for all of the freezable tasks and | 21 | variable system_freezing_cnt (as opposed to a per-task flag) is used to indicate |
22 | either wakes them up, if they are kernel threads, or sends fake signals to them, | 22 | whether the system is to undergo a freezing operation. And freeze_processes() |
23 | if they are user space processes. A task that has TIF_FREEZE set, should react | 23 | sets this variable. After this, it executes try_to_freeze_tasks() that sends a |
24 | to it by calling the function called __refrigerator() (defined in | 24 | fake signal to all user space processes, and wakes up all the kernel threads. |
25 | kernel/freezer.c), which sets the task's PF_FROZEN flag, changes its state | 25 | All freezable tasks must react to that by calling try_to_freeze(), which |
26 | to TASK_UNINTERRUPTIBLE and makes it loop until PF_FROZEN is cleared for it. | 26 | results in a call to __refrigerator() (defined in kernel/freezer.c), which sets |
27 | Then, we say that the task is 'frozen' and therefore the set of functions | 27 | the task's PF_FROZEN flag, changes its state to TASK_UNINTERRUPTIBLE and makes |
28 | handling this mechanism is referred to as 'the freezer' (these functions are | 28 | it loop until PF_FROZEN is cleared for it. Then, we say that the task is |
29 | defined in kernel/power/process.c, kernel/freezer.c & include/linux/freezer.h). | 29 | 'frozen' and therefore the set of functions handling this mechanism is referred |
30 | User space processes are generally frozen before kernel threads. | 30 | to as 'the freezer' (these functions are defined in kernel/power/process.c, |
31 | kernel/freezer.c & include/linux/freezer.h). User space processes are generally | ||
32 | frozen before kernel threads. | ||
31 | 33 | ||
32 | __refrigerator() must not be called directly. Instead, use the | 34 | __refrigerator() must not be called directly. Instead, use the |
33 | try_to_freeze() function (defined in include/linux/freezer.h), that checks | 35 | try_to_freeze() function (defined in include/linux/freezer.h), that checks |
34 | the task's TIF_FREEZE flag and makes the task enter __refrigerator() if the | 36 | if the task is to be frozen and makes the task enter __refrigerator(). |
35 | flag is set. | ||
36 | 37 | ||
37 | For user space processes try_to_freeze() is called automatically from the | 38 | For user space processes try_to_freeze() is called automatically from the |
38 | signal-handling code, but the freezable kernel threads need to call it | 39 | signal-handling code, but the freezable kernel threads need to call it |
39 | explicitly in suitable places or use the wait_event_freezable() or | 40 | explicitly in suitable places or use the wait_event_freezable() or |
40 | wait_event_freezable_timeout() macros (defined in include/linux/freezer.h) | 41 | wait_event_freezable_timeout() macros (defined in include/linux/freezer.h) |
41 | that combine interruptible sleep with checking if TIF_FREEZE is set and calling | 42 | that combine interruptible sleep with checking if the task is to be frozen and |
42 | try_to_freeze(). The main loop of a freezable kernel thread may look like the | 43 | calling try_to_freeze(). The main loop of a freezable kernel thread may look |
43 | following one: | 44 | like the following one: |
44 | 45 | ||
45 | set_freezable(); | 46 | set_freezable(); |
46 | do { | 47 | do { |
@@ -53,7 +54,7 @@ following one: | |||
53 | (from drivers/usb/core/hub.c::hub_thread()). | 54 | (from drivers/usb/core/hub.c::hub_thread()). |
54 | 55 | ||
55 | If a freezable kernel thread fails to call try_to_freeze() after the freezer has | 56 | If a freezable kernel thread fails to call try_to_freeze() after the freezer has |
56 | set TIF_FREEZE for it, the freezing of tasks will fail and the entire | 57 | initiated a freezing operation, the freezing of tasks will fail and the entire |
57 | hibernation operation will be cancelled. For this reason, freezable kernel | 58 | hibernation operation will be cancelled. For this reason, freezable kernel |
58 | threads must call try_to_freeze() somewhere or use one of the | 59 | threads must call try_to_freeze() somewhere or use one of the |
59 | wait_event_freezable() and wait_event_freezable_timeout() macros. | 60 | wait_event_freezable() and wait_event_freezable_timeout() macros. |
diff --git a/Documentation/security/keys.txt b/Documentation/security/keys.txt index 787717091421..d389acd31e19 100644 --- a/Documentation/security/keys.txt +++ b/Documentation/security/keys.txt | |||
@@ -123,7 +123,7 @@ KEY SERVICE OVERVIEW | |||
123 | 123 | ||
124 | The key service provides a number of features besides keys: | 124 | The key service provides a number of features besides keys: |
125 | 125 | ||
126 | (*) The key service defines two special key types: | 126 | (*) The key service defines three special key types: |
127 | 127 | ||
128 | (+) "keyring" | 128 | (+) "keyring" |
129 | 129 | ||
@@ -137,6 +137,18 @@ The key service provides a number of features besides keys: | |||
137 | blobs of data. These can be created, updated and read by userspace, | 137 | blobs of data. These can be created, updated and read by userspace, |
138 | and aren't intended for use by kernel services. | 138 | and aren't intended for use by kernel services. |
139 | 139 | ||
140 | (+) "logon" | ||
141 | |||
142 | Like a "user" key, a "logon" key has a payload that is an arbitrary | ||
143 | blob of data. It is intended as a place to store secrets which are | ||
144 | accessible to the kernel but not to userspace programs. | ||
145 | |||
146 | The description can be arbitrary, but must be prefixed with a non-zero | ||
147 | length string that describes the key "subclass". The subclass is | ||
148 | separated from the rest of the description by a ':'. "logon" keys can | ||
149 | be created and updated from userspace, but the payload is only | ||
150 | readable from kernel space. | ||
151 | |||
140 | (*) Each process subscribes to three keyrings: a thread-specific keyring, a | 152 | (*) Each process subscribes to three keyrings: a thread-specific keyring, a |
141 | process-specific keyring, and a session-specific keyring. | 153 | process-specific keyring, and a session-specific keyring. |
142 | 154 | ||