diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DMA-attributes.txt | 18 | ||||
-rw-r--r-- | Documentation/DocBook/device-drivers.tmpl | 17 | ||||
-rw-r--r-- | Documentation/cgroups/cpusets.txt | 2 | ||||
-rw-r--r-- | Documentation/cpu-hotplug.txt | 22 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mtd/atmel-nand.txt | 10 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/regulator/anatop-regulator.txt | 29 | ||||
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 8 | ||||
-rw-r--r-- | Documentation/hwmon/k10temp | 2 | ||||
-rw-r--r-- | Documentation/ioctl/ioctl-number.txt | 1 | ||||
-rw-r--r-- | Documentation/networking/driver.txt | 31 | ||||
-rw-r--r-- | Documentation/networking/ip-sysctl.txt | 11 | ||||
-rw-r--r-- | Documentation/networking/netdevices.txt | 25 |
12 files changed, 112 insertions, 64 deletions
diff --git a/Documentation/DMA-attributes.txt b/Documentation/DMA-attributes.txt index b768cc0e402b..5c72eed89563 100644 --- a/Documentation/DMA-attributes.txt +++ b/Documentation/DMA-attributes.txt | |||
@@ -31,3 +31,21 @@ may be weakly ordered, that is that reads and writes may pass each other. | |||
31 | Since it is optional for platforms to implement DMA_ATTR_WEAK_ORDERING, | 31 | Since it is optional for platforms to implement DMA_ATTR_WEAK_ORDERING, |
32 | those that do not will simply ignore the attribute and exhibit default | 32 | those that do not will simply ignore the attribute and exhibit default |
33 | behavior. | 33 | behavior. |
34 | |||
35 | DMA_ATTR_WRITE_COMBINE | ||
36 | ---------------------- | ||
37 | |||
38 | DMA_ATTR_WRITE_COMBINE specifies that writes to the mapping may be | ||
39 | buffered to improve performance. | ||
40 | |||
41 | Since it is optional for platforms to implement DMA_ATTR_WRITE_COMBINE, | ||
42 | those that do not will simply ignore the attribute and exhibit default | ||
43 | behavior. | ||
44 | |||
45 | DMA_ATTR_NON_CONSISTENT | ||
46 | ----------------------- | ||
47 | |||
48 | DMA_ATTR_NON_CONSISTENT lets the platform to choose to return either | ||
49 | consistent or non-consistent memory as it sees fit. By using this API, | ||
50 | you are guaranteeing to the platform that you have all the correct and | ||
51 | necessary sync points for this memory in the driver. | ||
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl index 9c27e5125dd2..7514dbf0a679 100644 --- a/Documentation/DocBook/device-drivers.tmpl +++ b/Documentation/DocBook/device-drivers.tmpl | |||
@@ -446,4 +446,21 @@ X!Idrivers/video/console/fonts.c | |||
446 | !Edrivers/i2c/i2c-core.c | 446 | !Edrivers/i2c/i2c-core.c |
447 | </chapter> | 447 | </chapter> |
448 | 448 | ||
449 | <chapter id="hsi"> | ||
450 | <title>High Speed Synchronous Serial Interface (HSI)</title> | ||
451 | |||
452 | <para> | ||
453 | High Speed Synchronous Serial Interface (HSI) is a | ||
454 | serial interface mainly used for connecting application | ||
455 | engines (APE) with cellular modem engines (CMT) in cellular | ||
456 | handsets. | ||
457 | |||
458 | HSI provides multiplexing for up to 16 logical channels, | ||
459 | low-latency and full duplex communication. | ||
460 | </para> | ||
461 | |||
462 | !Iinclude/linux/hsi/hsi.h | ||
463 | !Edrivers/hsi/hsi.c | ||
464 | </chapter> | ||
465 | |||
449 | </book> | 466 | </book> |
diff --git a/Documentation/cgroups/cpusets.txt b/Documentation/cgroups/cpusets.txt index 5c51ed406d1d..cefd3d8bbd11 100644 --- a/Documentation/cgroups/cpusets.txt +++ b/Documentation/cgroups/cpusets.txt | |||
@@ -217,7 +217,7 @@ and name space for cpusets, with a minimum of additional kernel code. | |||
217 | 217 | ||
218 | The cpus and mems files in the root (top_cpuset) cpuset are | 218 | The cpus and mems files in the root (top_cpuset) cpuset are |
219 | read-only. The cpus file automatically tracks the value of | 219 | read-only. The cpus file automatically tracks the value of |
220 | cpu_online_map using a CPU hotplug notifier, and the mems file | 220 | cpu_online_mask using a CPU hotplug notifier, and the mems file |
221 | automatically tracks the value of node_states[N_HIGH_MEMORY]--i.e., | 221 | automatically tracks the value of node_states[N_HIGH_MEMORY]--i.e., |
222 | nodes with memory--using the cpuset_track_online_nodes() hook. | 222 | nodes with memory--using the cpuset_track_online_nodes() hook. |
223 | 223 | ||
diff --git a/Documentation/cpu-hotplug.txt b/Documentation/cpu-hotplug.txt index a20bfd415e41..66ef8f35613d 100644 --- a/Documentation/cpu-hotplug.txt +++ b/Documentation/cpu-hotplug.txt | |||
@@ -47,7 +47,7 @@ maxcpus=n Restrict boot time cpus to n. Say if you have 4 cpus, using | |||
47 | other cpus later online, read FAQ's for more info. | 47 | other cpus later online, read FAQ's for more info. |
48 | 48 | ||
49 | additional_cpus=n (*) Use this to limit hotpluggable cpus. This option sets | 49 | additional_cpus=n (*) Use this to limit hotpluggable cpus. This option sets |
50 | cpu_possible_map = cpu_present_map + additional_cpus | 50 | cpu_possible_mask = cpu_present_mask + additional_cpus |
51 | 51 | ||
52 | cede_offline={"off","on"} Use this option to disable/enable putting offlined | 52 | cede_offline={"off","on"} Use this option to disable/enable putting offlined |
53 | processors to an extended H_CEDE state on | 53 | processors to an extended H_CEDE state on |
@@ -64,11 +64,11 @@ should only rely on this to count the # of cpus, but *MUST* not rely | |||
64 | on the apicid values in those tables for disabled apics. In the event | 64 | on the apicid values in those tables for disabled apics. In the event |
65 | BIOS doesn't mark such hot-pluggable cpus as disabled entries, one could | 65 | BIOS doesn't mark such hot-pluggable cpus as disabled entries, one could |
66 | use this parameter "additional_cpus=x" to represent those cpus in the | 66 | use this parameter "additional_cpus=x" to represent those cpus in the |
67 | cpu_possible_map. | 67 | cpu_possible_mask. |
68 | 68 | ||
69 | possible_cpus=n [s390,x86_64] use this to set hotpluggable cpus. | 69 | possible_cpus=n [s390,x86_64] use this to set hotpluggable cpus. |
70 | This option sets possible_cpus bits in | 70 | This option sets possible_cpus bits in |
71 | cpu_possible_map. Thus keeping the numbers of bits set | 71 | cpu_possible_mask. Thus keeping the numbers of bits set |
72 | constant even if the machine gets rebooted. | 72 | constant even if the machine gets rebooted. |
73 | 73 | ||
74 | CPU maps and such | 74 | CPU maps and such |
@@ -76,7 +76,7 @@ CPU maps and such | |||
76 | [More on cpumaps and primitive to manipulate, please check | 76 | [More on cpumaps and primitive to manipulate, please check |
77 | include/linux/cpumask.h that has more descriptive text.] | 77 | include/linux/cpumask.h that has more descriptive text.] |
78 | 78 | ||
79 | cpu_possible_map: Bitmap of possible CPUs that can ever be available in the | 79 | cpu_possible_mask: Bitmap of possible CPUs that can ever be available in the |
80 | system. This is used to allocate some boot time memory for per_cpu variables | 80 | system. This is used to allocate some boot time memory for per_cpu variables |
81 | that aren't designed to grow/shrink as CPUs are made available or removed. | 81 | that aren't designed to grow/shrink as CPUs are made available or removed. |
82 | Once set during boot time discovery phase, the map is static, i.e no bits | 82 | Once set during boot time discovery phase, the map is static, i.e no bits |
@@ -84,13 +84,13 @@ are added or removed anytime. Trimming it accurately for your system needs | |||
84 | upfront can save some boot time memory. See below for how we use heuristics | 84 | upfront can save some boot time memory. See below for how we use heuristics |
85 | in x86_64 case to keep this under check. | 85 | in x86_64 case to keep this under check. |
86 | 86 | ||
87 | cpu_online_map: Bitmap of all CPUs currently online. Its set in __cpu_up() | 87 | cpu_online_mask: Bitmap of all CPUs currently online. Its set in __cpu_up() |
88 | after a cpu is available for kernel scheduling and ready to receive | 88 | after a cpu is available for kernel scheduling and ready to receive |
89 | interrupts from devices. Its cleared when a cpu is brought down using | 89 | interrupts from devices. Its cleared when a cpu is brought down using |
90 | __cpu_disable(), before which all OS services including interrupts are | 90 | __cpu_disable(), before which all OS services including interrupts are |
91 | migrated to another target CPU. | 91 | migrated to another target CPU. |
92 | 92 | ||
93 | cpu_present_map: Bitmap of CPUs currently present in the system. Not all | 93 | cpu_present_mask: Bitmap of CPUs currently present in the system. Not all |
94 | of them may be online. When physical hotplug is processed by the relevant | 94 | of them may be online. When physical hotplug is processed by the relevant |
95 | subsystem (e.g ACPI) can change and new bit either be added or removed | 95 | subsystem (e.g ACPI) can change and new bit either be added or removed |
96 | from the map depending on the event is hot-add/hot-remove. There are currently | 96 | from the map depending on the event is hot-add/hot-remove. There are currently |
@@ -99,22 +99,22 @@ at which time hotplug is disabled. | |||
99 | 99 | ||
100 | You really dont need to manipulate any of the system cpu maps. They should | 100 | You really dont need to manipulate any of the system cpu maps. They should |
101 | be read-only for most use. When setting up per-cpu resources almost always use | 101 | be read-only for most use. When setting up per-cpu resources almost always use |
102 | cpu_possible_map/for_each_possible_cpu() to iterate. | 102 | cpu_possible_mask/for_each_possible_cpu() to iterate. |
103 | 103 | ||
104 | Never use anything other than cpumask_t to represent bitmap of CPUs. | 104 | Never use anything other than cpumask_t to represent bitmap of CPUs. |
105 | 105 | ||
106 | #include <linux/cpumask.h> | 106 | #include <linux/cpumask.h> |
107 | 107 | ||
108 | for_each_possible_cpu - Iterate over cpu_possible_map | 108 | for_each_possible_cpu - Iterate over cpu_possible_mask |
109 | for_each_online_cpu - Iterate over cpu_online_map | 109 | for_each_online_cpu - Iterate over cpu_online_mask |
110 | for_each_present_cpu - Iterate over cpu_present_map | 110 | for_each_present_cpu - Iterate over cpu_present_mask |
111 | for_each_cpu_mask(x,mask) - Iterate over some random collection of cpu mask. | 111 | for_each_cpu_mask(x,mask) - Iterate over some random collection of cpu mask. |
112 | 112 | ||
113 | #include <linux/cpu.h> | 113 | #include <linux/cpu.h> |
114 | get_online_cpus() and put_online_cpus(): | 114 | get_online_cpus() and put_online_cpus(): |
115 | 115 | ||
116 | The above calls are used to inhibit cpu hotplug operations. While the | 116 | The above calls are used to inhibit cpu hotplug operations. While the |
117 | cpu_hotplug.refcount is non zero, the cpu_online_map will not change. | 117 | cpu_hotplug.refcount is non zero, the cpu_online_mask will not change. |
118 | If you merely need to avoid cpus going away, you could also use | 118 | If you merely need to avoid cpus going away, you could also use |
119 | preempt_disable() and preempt_enable() for those sections. | 119 | preempt_disable() and preempt_enable() for those sections. |
120 | Just remember the critical section cannot call any | 120 | Just remember the critical section cannot call any |
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt index 5903ecf6e895..a20069502f5a 100644 --- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt +++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt | |||
@@ -27,13 +27,13 @@ nand0: nand@40000000,0 { | |||
27 | reg = <0x40000000 0x10000000 | 27 | reg = <0x40000000 0x10000000 |
28 | 0xffffe800 0x200 | 28 | 0xffffe800 0x200 |
29 | >; | 29 | >; |
30 | atmel,nand-addr-offset = <21>; | 30 | atmel,nand-addr-offset = <21>; /* ale */ |
31 | atmel,nand-cmd-offset = <22>; | 31 | atmel,nand-cmd-offset = <22>; /* cle */ |
32 | nand-on-flash-bbt; | 32 | nand-on-flash-bbt; |
33 | nand-ecc-mode = "soft"; | 33 | nand-ecc-mode = "soft"; |
34 | gpios = <&pioC 13 0 | 34 | gpios = <&pioC 13 0 /* rdy */ |
35 | &pioC 14 0 | 35 | &pioC 14 0 /* nce */ |
36 | 0 | 36 | 0 /* cd */ |
37 | >; | 37 | >; |
38 | partition@0 { | 38 | partition@0 { |
39 | ... | 39 | ... |
diff --git a/Documentation/devicetree/bindings/regulator/anatop-regulator.txt b/Documentation/devicetree/bindings/regulator/anatop-regulator.txt new file mode 100644 index 000000000000..357758cb6e92 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/anatop-regulator.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | Anatop Voltage regulators | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be "fsl,anatop-regulator" | ||
5 | - anatop-reg-offset: Anatop MFD register offset | ||
6 | - anatop-vol-bit-shift: Bit shift for the register | ||
7 | - anatop-vol-bit-width: Number of bits used in the register | ||
8 | - anatop-min-bit-val: Minimum value of this register | ||
9 | - anatop-min-voltage: Minimum voltage of this regulator | ||
10 | - anatop-max-voltage: Maximum voltage of this regulator | ||
11 | |||
12 | Any property defined as part of the core regulator | ||
13 | binding, defined in regulator.txt, can also be used. | ||
14 | |||
15 | Example: | ||
16 | |||
17 | regulator-vddpu { | ||
18 | compatible = "fsl,anatop-regulator"; | ||
19 | regulator-name = "vddpu"; | ||
20 | regulator-min-microvolt = <725000>; | ||
21 | regulator-max-microvolt = <1300000>; | ||
22 | regulator-always-on; | ||
23 | anatop-reg-offset = <0x140>; | ||
24 | anatop-vol-bit-shift = <9>; | ||
25 | anatop-vol-bit-width = <5>; | ||
26 | anatop-min-bit-val = <1>; | ||
27 | anatop-min-voltage = <725000>; | ||
28 | anatop-max-voltage = <1300000>; | ||
29 | }; | ||
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index c1be8066ea59..709e08e9a222 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -6,14 +6,6 @@ be removed from this file. | |||
6 | 6 | ||
7 | --------------------------- | 7 | --------------------------- |
8 | 8 | ||
9 | What: x86 floppy disable_hlt | ||
10 | When: 2012 | ||
11 | Why: ancient workaround of dubious utility clutters the | ||
12 | code used by everybody else. | ||
13 | Who: Len Brown <len.brown@intel.com> | ||
14 | |||
15 | --------------------------- | ||
16 | |||
17 | What: CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle | 9 | What: CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle |
18 | When: 2012 | 10 | When: 2012 |
19 | Why: This optional sub-feature of APM is of dubious reliability, | 11 | Why: This optional sub-feature of APM is of dubious reliability, |
diff --git a/Documentation/hwmon/k10temp b/Documentation/hwmon/k10temp index a10f73624ad3..90956b618025 100644 --- a/Documentation/hwmon/k10temp +++ b/Documentation/hwmon/k10temp | |||
@@ -11,7 +11,7 @@ Supported chips: | |||
11 | Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) | 11 | Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) |
12 | * AMD Family 12h processors: "Llano" (E2/A4/A6/A8-Series) | 12 | * AMD Family 12h processors: "Llano" (E2/A4/A6/A8-Series) |
13 | * AMD Family 14h processors: "Brazos" (C/E/G/Z-Series) | 13 | * AMD Family 14h processors: "Brazos" (C/E/G/Z-Series) |
14 | * AMD Family 15h processors: "Bulldozer" | 14 | * AMD Family 15h processors: "Bulldozer" (FX-Series), "Trinity" |
15 | 15 | ||
16 | Prefix: 'k10temp' | 16 | Prefix: 'k10temp' |
17 | Addresses scanned: PCI space | 17 | Addresses scanned: PCI space |
diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt index 3b7488fc3373..e34b531dc316 100644 --- a/Documentation/ioctl/ioctl-number.txt +++ b/Documentation/ioctl/ioctl-number.txt | |||
@@ -225,6 +225,7 @@ Code Seq#(hex) Include File Comments | |||
225 | 'j' 00-3F linux/joystick.h | 225 | 'j' 00-3F linux/joystick.h |
226 | 'k' 00-0F linux/spi/spidev.h conflict! | 226 | 'k' 00-0F linux/spi/spidev.h conflict! |
227 | 'k' 00-05 video/kyro.h conflict! | 227 | 'k' 00-05 video/kyro.h conflict! |
228 | 'k' 10-17 linux/hsi/hsi_char.h HSI character device | ||
228 | 'l' 00-3F linux/tcfs_fs.h transparent cryptographic file system | 229 | 'l' 00-3F linux/tcfs_fs.h transparent cryptographic file system |
229 | <http://web.archive.org/web/*/http://mikonos.dia.unisa.it/tcfs> | 230 | <http://web.archive.org/web/*/http://mikonos.dia.unisa.it/tcfs> |
230 | 'l' 40-7F linux/udf_fs_i.h in development: | 231 | 'l' 40-7F linux/udf_fs_i.h in development: |
diff --git a/Documentation/networking/driver.txt b/Documentation/networking/driver.txt index 03283daa64fe..da59e2884130 100644 --- a/Documentation/networking/driver.txt +++ b/Documentation/networking/driver.txt | |||
@@ -2,16 +2,16 @@ Document about softnet driver issues | |||
2 | 2 | ||
3 | Transmit path guidelines: | 3 | Transmit path guidelines: |
4 | 4 | ||
5 | 1) The hard_start_xmit method must never return '1' under any | 5 | 1) The ndo_start_xmit method must not return NETDEV_TX_BUSY under |
6 | normal circumstances. It is considered a hard error unless | 6 | any normal circumstances. It is considered a hard error unless |
7 | there is no way your device can tell ahead of time when it's | 7 | there is no way your device can tell ahead of time when it's |
8 | transmit function will become busy. | 8 | transmit function will become busy. |
9 | 9 | ||
10 | Instead it must maintain the queue properly. For example, | 10 | Instead it must maintain the queue properly. For example, |
11 | for a driver implementing scatter-gather this means: | 11 | for a driver implementing scatter-gather this means: |
12 | 12 | ||
13 | static int drv_hard_start_xmit(struct sk_buff *skb, | 13 | static netdev_tx_t drv_hard_start_xmit(struct sk_buff *skb, |
14 | struct net_device *dev) | 14 | struct net_device *dev) |
15 | { | 15 | { |
16 | struct drv *dp = netdev_priv(dev); | 16 | struct drv *dp = netdev_priv(dev); |
17 | 17 | ||
@@ -23,7 +23,7 @@ Transmit path guidelines: | |||
23 | unlock_tx(dp); | 23 | unlock_tx(dp); |
24 | printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", | 24 | printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", |
25 | dev->name); | 25 | dev->name); |
26 | return 1; | 26 | return NETDEV_TX_BUSY; |
27 | } | 27 | } |
28 | 28 | ||
29 | ... queue packet to card ... | 29 | ... queue packet to card ... |
@@ -35,6 +35,7 @@ Transmit path guidelines: | |||
35 | ... | 35 | ... |
36 | unlock_tx(dp); | 36 | unlock_tx(dp); |
37 | ... | 37 | ... |
38 | return NETDEV_TX_OK; | ||
38 | } | 39 | } |
39 | 40 | ||
40 | And then at the end of your TX reclamation event handling: | 41 | And then at the end of your TX reclamation event handling: |
@@ -58,15 +59,12 @@ Transmit path guidelines: | |||
58 | TX_BUFFS_AVAIL(dp) > 0) | 59 | TX_BUFFS_AVAIL(dp) > 0) |
59 | netif_wake_queue(dp->dev); | 60 | netif_wake_queue(dp->dev); |
60 | 61 | ||
61 | 2) Do not forget to update netdev->trans_start to jiffies after | 62 | 2) An ndo_start_xmit method must not modify the shared parts of a |
62 | each new tx packet is given to the hardware. | ||
63 | |||
64 | 3) A hard_start_xmit method must not modify the shared parts of a | ||
65 | cloned SKB. | 63 | cloned SKB. |
66 | 64 | ||
67 | 4) Do not forget that once you return 0 from your hard_start_xmit | 65 | 3) Do not forget that once you return NETDEV_TX_OK from your |
68 | method, it is your driver's responsibility to free up the SKB | 66 | ndo_start_xmit method, it is your driver's responsibility to free |
69 | and in some finite amount of time. | 67 | up the SKB and in some finite amount of time. |
70 | 68 | ||
71 | For example, this means that it is not allowed for your TX | 69 | For example, this means that it is not allowed for your TX |
72 | mitigation scheme to let TX packets "hang out" in the TX | 70 | mitigation scheme to let TX packets "hang out" in the TX |
@@ -74,8 +72,9 @@ Transmit path guidelines: | |||
74 | This error can deadlock sockets waiting for send buffer room | 72 | This error can deadlock sockets waiting for send buffer room |
75 | to be freed up. | 73 | to be freed up. |
76 | 74 | ||
77 | If you return 1 from the hard_start_xmit method, you must not keep | 75 | If you return NETDEV_TX_BUSY from the ndo_start_xmit method, you |
78 | any reference to that SKB and you must not attempt to free it up. | 76 | must not keep any reference to that SKB and you must not attempt |
77 | to free it up. | ||
79 | 78 | ||
80 | Probing guidelines: | 79 | Probing guidelines: |
81 | 80 | ||
@@ -85,10 +84,10 @@ Probing guidelines: | |||
85 | 84 | ||
86 | Close/stop guidelines: | 85 | Close/stop guidelines: |
87 | 86 | ||
88 | 1) After the dev->stop routine has been called, the hardware must | 87 | 1) After the ndo_stop routine has been called, the hardware must |
89 | not receive or transmit any data. All in flight packets must | 88 | not receive or transmit any data. All in flight packets must |
90 | be aborted. If necessary, poll or wait for completion of | 89 | be aborted. If necessary, poll or wait for completion of |
91 | any reset commands. | 90 | any reset commands. |
92 | 91 | ||
93 | 2) The dev->stop routine will be called by unregister_netdevice | 92 | 2) The ndo_stop routine will be called by unregister_netdevice |
94 | if device is still UP. | 93 | if device is still UP. |
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index ad3e80e17b4f..bd80ba5847d2 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -604,15 +604,8 @@ IP Variables: | |||
604 | ip_local_port_range - 2 INTEGERS | 604 | ip_local_port_range - 2 INTEGERS |
605 | Defines the local port range that is used by TCP and UDP to | 605 | Defines the local port range that is used by TCP and UDP to |
606 | choose the local port. The first number is the first, the | 606 | choose the local port. The first number is the first, the |
607 | second the last local port number. Default value depends on | 607 | second the last local port number. The default values are |
608 | amount of memory available on the system: | 608 | 32768 and 61000 respectively. |
609 | > 128Mb 32768-61000 | ||
610 | < 128Mb 1024-4999 or even less. | ||
611 | This number defines number of active connections, which this | ||
612 | system can issue simultaneously to systems not supporting | ||
613 | TCP extensions (timestamps). With tcp_tw_recycle enabled | ||
614 | (i.e. by default) range 1024-4999 is enough to issue up to | ||
615 | 2000 connections per second to systems supporting timestamps. | ||
616 | 609 | ||
617 | ip_local_reserved_ports - list of comma separated ranges | 610 | ip_local_reserved_ports - list of comma separated ranges |
618 | Specify the ports which are reserved for known third-party | 611 | Specify the ports which are reserved for known third-party |
diff --git a/Documentation/networking/netdevices.txt b/Documentation/networking/netdevices.txt index 89358341682a..c7ecc7080494 100644 --- a/Documentation/networking/netdevices.txt +++ b/Documentation/networking/netdevices.txt | |||
@@ -47,26 +47,25 @@ packets is preferred. | |||
47 | 47 | ||
48 | struct net_device synchronization rules | 48 | struct net_device synchronization rules |
49 | ======================================= | 49 | ======================================= |
50 | dev->open: | 50 | ndo_open: |
51 | Synchronization: rtnl_lock() semaphore. | 51 | Synchronization: rtnl_lock() semaphore. |
52 | Context: process | 52 | Context: process |
53 | 53 | ||
54 | dev->stop: | 54 | ndo_stop: |
55 | Synchronization: rtnl_lock() semaphore. | 55 | Synchronization: rtnl_lock() semaphore. |
56 | Context: process | 56 | Context: process |
57 | Note1: netif_running() is guaranteed false | 57 | Note: netif_running() is guaranteed false |
58 | Note2: dev->poll() is guaranteed to be stopped | ||
59 | 58 | ||
60 | dev->do_ioctl: | 59 | ndo_do_ioctl: |
61 | Synchronization: rtnl_lock() semaphore. | 60 | Synchronization: rtnl_lock() semaphore. |
62 | Context: process | 61 | Context: process |
63 | 62 | ||
64 | dev->get_stats: | 63 | ndo_get_stats: |
65 | Synchronization: dev_base_lock rwlock. | 64 | Synchronization: dev_base_lock rwlock. |
66 | Context: nominally process, but don't sleep inside an rwlock | 65 | Context: nominally process, but don't sleep inside an rwlock |
67 | 66 | ||
68 | dev->hard_start_xmit: | 67 | ndo_start_xmit: |
69 | Synchronization: netif_tx_lock spinlock. | 68 | Synchronization: __netif_tx_lock spinlock. |
70 | 69 | ||
71 | When the driver sets NETIF_F_LLTX in dev->features this will be | 70 | When the driver sets NETIF_F_LLTX in dev->features this will be |
72 | called without holding netif_tx_lock. In this case the driver | 71 | called without holding netif_tx_lock. In this case the driver |
@@ -87,20 +86,20 @@ dev->hard_start_xmit: | |||
87 | o NETDEV_TX_LOCKED Locking failed, please retry quickly. | 86 | o NETDEV_TX_LOCKED Locking failed, please retry quickly. |
88 | Only valid when NETIF_F_LLTX is set. | 87 | Only valid when NETIF_F_LLTX is set. |
89 | 88 | ||
90 | dev->tx_timeout: | 89 | ndo_tx_timeout: |
91 | Synchronization: netif_tx_lock spinlock. | 90 | Synchronization: netif_tx_lock spinlock; all TX queues frozen. |
92 | Context: BHs disabled | 91 | Context: BHs disabled |
93 | Notes: netif_queue_stopped() is guaranteed true | 92 | Notes: netif_queue_stopped() is guaranteed true |
94 | 93 | ||
95 | dev->set_rx_mode: | 94 | ndo_set_rx_mode: |
96 | Synchronization: netif_tx_lock spinlock. | 95 | Synchronization: netif_addr_lock spinlock. |
97 | Context: BHs disabled | 96 | Context: BHs disabled |
98 | 97 | ||
99 | struct napi_struct synchronization rules | 98 | struct napi_struct synchronization rules |
100 | ======================================== | 99 | ======================================== |
101 | napi->poll: | 100 | napi->poll: |
102 | Synchronization: NAPI_STATE_SCHED bit in napi->state. Device | 101 | Synchronization: NAPI_STATE_SCHED bit in napi->state. Device |
103 | driver's dev->close method will invoke napi_disable() on | 102 | driver's ndo_stop method will invoke napi_disable() on |
104 | all NAPI instances which will do a sleeping poll on the | 103 | all NAPI instances which will do a sleeping poll on the |
105 | NAPI_STATE_SCHED napi->state bit, waiting for all pending | 104 | NAPI_STATE_SCHED napi->state bit, waiting for all pending |
106 | NAPI activity to cease. | 105 | NAPI activity to cease. |