diff options
Diffstat (limited to 'Documentation')
58 files changed, 1925 insertions, 175 deletions
diff --git a/Documentation/ABI/stable/sysfs-driver-qla2xxx b/Documentation/ABI/stable/sysfs-driver-qla2xxx new file mode 100644 index 000000000000..9a59d84497ed --- /dev/null +++ b/Documentation/ABI/stable/sysfs-driver-qla2xxx | |||
@@ -0,0 +1,8 @@ | |||
1 | What: /sys/bus/pci/drivers/qla2xxx/.../devices/* | ||
2 | Date: September 2009 | ||
3 | Contact: QLogic Linux Driver <linux-driver@qlogic.com> | ||
4 | Description: qla2xxx-udev.sh currently looks for uevent CHANGE events to | ||
5 | signal a firmware-dump has been generated by the driver and is | ||
6 | ready for retrieval. | ||
7 | Users: qla2xxx-udev.sh. Proposed changes should be mailed to | ||
8 | linux-driver@qlogic.com | ||
diff --git a/Documentation/ABI/testing/procfs-diskstats b/Documentation/ABI/testing/procfs-diskstats index 99233902e09e..f91a973a37fe 100644 --- a/Documentation/ABI/testing/procfs-diskstats +++ b/Documentation/ABI/testing/procfs-diskstats | |||
@@ -8,7 +8,7 @@ Description: | |||
8 | 1 - major number | 8 | 1 - major number |
9 | 2 - minor mumber | 9 | 2 - minor mumber |
10 | 3 - device name | 10 | 3 - device name |
11 | 4 - reads completed succesfully | 11 | 4 - reads completed successfully |
12 | 5 - reads merged | 12 | 5 - reads merged |
13 | 6 - sectors read | 13 | 6 - sectors read |
14 | 7 - time spent reading (ms) | 14 | 7 - time spent reading (ms) |
diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block index 5f3bedaf8e35..d2f90334bb93 100644 --- a/Documentation/ABI/testing/sysfs-block +++ b/Documentation/ABI/testing/sysfs-block | |||
@@ -4,7 +4,7 @@ Contact: Jerome Marchand <jmarchan@redhat.com> | |||
4 | Description: | 4 | Description: |
5 | The /sys/block/<disk>/stat files displays the I/O | 5 | The /sys/block/<disk>/stat files displays the I/O |
6 | statistics of disk <disk>. They contain 11 fields: | 6 | statistics of disk <disk>. They contain 11 fields: |
7 | 1 - reads completed succesfully | 7 | 1 - reads completed successfully |
8 | 2 - reads merged | 8 | 2 - reads merged |
9 | 3 - sectors read | 9 | 3 - sectors read |
10 | 4 - time spent reading (ms) | 10 | 4 - time spent reading (ms) |
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt index 01f24e94bdb6..ecad88d9fe59 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/DMA-mapping.txt | |||
@@ -214,7 +214,7 @@ most specific mask. | |||
214 | Here is pseudo-code showing how this might be done: | 214 | Here is pseudo-code showing how this might be done: |
215 | 215 | ||
216 | #define PLAYBACK_ADDRESS_BITS DMA_BIT_MASK(32) | 216 | #define PLAYBACK_ADDRESS_BITS DMA_BIT_MASK(32) |
217 | #define RECORD_ADDRESS_BITS 0x00ffffff | 217 | #define RECORD_ADDRESS_BITS DMA_BIT_MASK(24) |
218 | 218 | ||
219 | struct my_sound_card *card; | 219 | struct my_sound_card *card; |
220 | struct pci_dev *pdev; | 220 | struct pci_dev *pdev; |
@@ -224,14 +224,14 @@ Here is pseudo-code showing how this might be done: | |||
224 | card->playback_enabled = 1; | 224 | card->playback_enabled = 1; |
225 | } else { | 225 | } else { |
226 | card->playback_enabled = 0; | 226 | card->playback_enabled = 0; |
227 | printk(KERN_WARN "%s: Playback disabled due to DMA limitations.\n", | 227 | printk(KERN_WARNING "%s: Playback disabled due to DMA limitations.\n", |
228 | card->name); | 228 | card->name); |
229 | } | 229 | } |
230 | if (!pci_set_dma_mask(pdev, RECORD_ADDRESS_BITS)) { | 230 | if (!pci_set_dma_mask(pdev, RECORD_ADDRESS_BITS)) { |
231 | card->record_enabled = 1; | 231 | card->record_enabled = 1; |
232 | } else { | 232 | } else { |
233 | card->record_enabled = 0; | 233 | card->record_enabled = 0; |
234 | printk(KERN_WARN "%s: Record disabled due to DMA limitations.\n", | 234 | printk(KERN_WARNING "%s: Record disabled due to DMA limitations.\n", |
235 | card->name); | 235 | card->name); |
236 | } | 236 | } |
237 | 237 | ||
diff --git a/Documentation/DocBook/genericirq.tmpl b/Documentation/DocBook/genericirq.tmpl index c671a0168096..1448b33fd222 100644 --- a/Documentation/DocBook/genericirq.tmpl +++ b/Documentation/DocBook/genericirq.tmpl | |||
@@ -417,8 +417,8 @@ desc->chip->end(); | |||
417 | </para> | 417 | </para> |
418 | <para> | 418 | <para> |
419 | To make use of the split implementation, replace the call to | 419 | To make use of the split implementation, replace the call to |
420 | __do_IRQ by a call to desc->chip->handle_irq() and associate | 420 | __do_IRQ by a call to desc->handle_irq() and associate |
421 | the appropriate handler function to desc->chip->handle_irq(). | 421 | the appropriate handler function to desc->handle_irq(). |
422 | In most cases the generic handler implementations should | 422 | In most cases the generic handler implementations should |
423 | be sufficient. | 423 | be sufficient. |
424 | </para> | 424 | </para> |
diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl index 992e67e6be7f..7b3f49363413 100644 --- a/Documentation/DocBook/kernel-hacking.tmpl +++ b/Documentation/DocBook/kernel-hacking.tmpl | |||
@@ -352,7 +352,7 @@ asmlinkage long sys_mycall(int arg) | |||
352 | </para> | 352 | </para> |
353 | 353 | ||
354 | <programlisting> | 354 | <programlisting> |
355 | if (signal_pending()) | 355 | if (signal_pending(current)) |
356 | return -ERESTARTSYS; | 356 | return -ERESTARTSYS; |
357 | </programlisting> | 357 | </programlisting> |
358 | 358 | ||
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index df0d089d0fb9..f508a8a27fea 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl | |||
@@ -362,7 +362,7 @@ module_exit(board_cleanup); | |||
362 | <sect1 id="Multiple_chip_control"> | 362 | <sect1 id="Multiple_chip_control"> |
363 | <title>Multiple chip control</title> | 363 | <title>Multiple chip control</title> |
364 | <para> | 364 | <para> |
365 | The nand driver can control chip arrays. Therefor the | 365 | The nand driver can control chip arrays. Therefore the |
366 | board driver must provide an own select_chip function. This | 366 | board driver must provide an own select_chip function. This |
367 | function must (de)select the requested chip. | 367 | function must (de)select the requested chip. |
368 | The function pointer in the nand_chip structure must | 368 | The function pointer in the nand_chip structure must |
diff --git a/Documentation/DocBook/tracepoint.tmpl b/Documentation/DocBook/tracepoint.tmpl index b0756d0fd579..8bca1d5cec09 100644 --- a/Documentation/DocBook/tracepoint.tmpl +++ b/Documentation/DocBook/tracepoint.tmpl | |||
@@ -86,4 +86,9 @@ | |||
86 | !Iinclude/trace/events/irq.h | 86 | !Iinclude/trace/events/irq.h |
87 | </chapter> | 87 | </chapter> |
88 | 88 | ||
89 | <chapter id="signal"> | ||
90 | <title>SIGNAL</title> | ||
91 | !Iinclude/trace/events/signal.h | ||
92 | </chapter> | ||
93 | |||
89 | </book> | 94 | </book> |
diff --git a/Documentation/DocBook/v4l/videodev2.h.xml b/Documentation/DocBook/v4l/videodev2.h.xml index 033ecd2a14f9..3e282ed9f593 100644 --- a/Documentation/DocBook/v4l/videodev2.h.xml +++ b/Documentation/DocBook/v4l/videodev2.h.xml | |||
@@ -493,7 +493,7 @@ struct <link linkend="v4l2-jpegcompression">v4l2_jpegcompression</link> { | |||
493 | * you do, leave them untouched. | 493 | * you do, leave them untouched. |
494 | * Inluding less markers will make the | 494 | * Inluding less markers will make the |
495 | * resulting code smaller, but there will | 495 | * resulting code smaller, but there will |
496 | * be fewer aplications which can read it. | 496 | * be fewer applications which can read it. |
497 | * The presence of the APP and COM marker | 497 | * The presence of the APP and COM marker |
498 | * is influenced by APP_len and COM_len | 498 | * is influenced by APP_len and COM_len |
499 | * ONLY, not by this property! */ | 499 | * ONLY, not by this property! */ |
diff --git a/Documentation/DocBook/writing-an-alsa-driver.tmpl b/Documentation/DocBook/writing-an-alsa-driver.tmpl index 7a2e0e98986a..0d0f7b4d4b1a 100644 --- a/Documentation/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/DocBook/writing-an-alsa-driver.tmpl | |||
@@ -5318,7 +5318,7 @@ struct _snd_pcm_runtime { | |||
5318 | pages of the given size and map them onto the virtually contiguous | 5318 | pages of the given size and map them onto the virtually contiguous |
5319 | memory. The virtual pointer is addressed in runtime->dma_area. | 5319 | memory. The virtual pointer is addressed in runtime->dma_area. |
5320 | The physical address (runtime->dma_addr) is set to zero, | 5320 | The physical address (runtime->dma_addr) is set to zero, |
5321 | because the buffer is physically non-contigous. | 5321 | because the buffer is physically non-contiguous. |
5322 | The physical address table is set up in sgbuf->table. | 5322 | The physical address table is set up in sgbuf->table. |
5323 | You can get the physical address at a certain offset via | 5323 | You can get the physical address at a certain offset via |
5324 | <function>snd_pcm_sgbuf_get_addr()</function>. | 5324 | <function>snd_pcm_sgbuf_get_addr()</function>. |
diff --git a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt index 26422f0f9080..b87292e05f2f 100644 --- a/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt +++ b/Documentation/arm/Samsung-S3C24XX/EB2410ITX.txt | |||
@@ -55,4 +55,4 @@ Maintainers | |||
55 | This board is maintained by Simtec Electronics. | 55 | This board is maintained by Simtec Electronics. |
56 | 56 | ||
57 | 57 | ||
58 | (c) 2004 Ben Dooks, Simtec Electronics | 58 | Copyright 2004 Ben Dooks, Simtec Electronics |
diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/Samsung-S3C24XX/GPIO.txt index 948c8718d967..2af2cf39915f 100644 --- a/Documentation/arm/Samsung-S3C24XX/GPIO.txt +++ b/Documentation/arm/Samsung-S3C24XX/GPIO.txt | |||
@@ -134,4 +134,4 @@ Authour | |||
134 | 134 | ||
135 | 135 | ||
136 | Ben Dooks, 03 October 2004 | 136 | Ben Dooks, 03 October 2004 |
137 | (c) 2004 Ben Dooks, Simtec Electronics | 137 | Copyright 2004 Ben Dooks, Simtec Electronics |
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt index cff6227b4484..081892df4fda 100644 --- a/Documentation/arm/Samsung-S3C24XX/Overview.txt +++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt | |||
@@ -299,4 +299,4 @@ Port Contributors | |||
299 | Document Author | 299 | Document Author |
300 | --------------- | 300 | --------------- |
301 | 301 | ||
302 | Ben Dooks, (c) 2004-2005,2006 Simtec Electronics | 302 | Ben Dooks, Copyright 2004-2006 Simtec Electronics |
diff --git a/Documentation/arm/Samsung-S3C24XX/S3C2412.txt b/Documentation/arm/Samsung-S3C24XX/S3C2412.txt index 295d971a15ed..f057876b920b 100644 --- a/Documentation/arm/Samsung-S3C24XX/S3C2412.txt +++ b/Documentation/arm/Samsung-S3C24XX/S3C2412.txt | |||
@@ -117,4 +117,4 @@ ATA | |||
117 | Document Author | 117 | Document Author |
118 | --------------- | 118 | --------------- |
119 | 119 | ||
120 | Ben Dooks, (c) 2006 Simtec Electronics | 120 | Ben Dooks, Copyright 2006 Simtec Electronics |
diff --git a/Documentation/arm/Samsung-S3C24XX/S3C2413.txt b/Documentation/arm/Samsung-S3C24XX/S3C2413.txt index ab2a88858f12..909bdc7dd7b5 100644 --- a/Documentation/arm/Samsung-S3C24XX/S3C2413.txt +++ b/Documentation/arm/Samsung-S3C24XX/S3C2413.txt | |||
@@ -18,4 +18,4 @@ Camera Interface | |||
18 | Document Author | 18 | Document Author |
19 | --------------- | 19 | --------------- |
20 | 20 | ||
21 | Ben Dooks, (c) 2006 Simtec Electronics | 21 | Ben Dooks, Copyright 2006 Simtec Electronics |
diff --git a/Documentation/arm/Samsung-S3C24XX/Suspend.txt b/Documentation/arm/Samsung-S3C24XX/Suspend.txt index a30fe510572b..7edd0e2e6c5b 100644 --- a/Documentation/arm/Samsung-S3C24XX/Suspend.txt +++ b/Documentation/arm/Samsung-S3C24XX/Suspend.txt | |||
@@ -133,5 +133,5 @@ Configuration | |||
133 | Document Author | 133 | Document Author |
134 | --------------- | 134 | --------------- |
135 | 135 | ||
136 | Ben Dooks, (c) 2004 Simtec Electronics | 136 | Ben Dooks, Copyright 2004 Simtec Electronics |
137 | 137 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/USB-Host.txt b/Documentation/arm/Samsung-S3C24XX/USB-Host.txt index 67671eba4231..f82b1faefad5 100644 --- a/Documentation/arm/Samsung-S3C24XX/USB-Host.txt +++ b/Documentation/arm/Samsung-S3C24XX/USB-Host.txt | |||
@@ -90,4 +90,4 @@ Platform Data | |||
90 | Document Author | 90 | Document Author |
91 | --------------- | 91 | --------------- |
92 | 92 | ||
93 | Ben Dooks, (c) 2005 Simtec Electronics | 93 | Ben Dooks, Copyright 2005 Simtec Electronics |
diff --git a/Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg b/Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg new file mode 100644 index 000000000000..f87cfa0dc2fb --- /dev/null +++ b/Documentation/blockdev/drbd/DRBD-8.3-data-packets.svg | |||
@@ -0,0 +1,588 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||
3 | <svg | ||
4 | xmlns:svg="http://www.w3.org/2000/svg" | ||
5 | xmlns="http://www.w3.org/2000/svg" | ||
6 | version="1.0" | ||
7 | width="210mm" | ||
8 | height="297mm" | ||
9 | viewBox="0 0 21000 29700" | ||
10 | id="svg2" | ||
11 | style="fill-rule:evenodd"> | ||
12 | <defs | ||
13 | id="defs4" /> | ||
14 | <g | ||
15 | id="Default" | ||
16 | style="visibility:visible"> | ||
17 | <desc | ||
18 | id="desc180">Master slide</desc> | ||
19 | </g> | ||
20 | <path | ||
21 | d="M 11999,8601 L 11899,8301 L 12099,8301 L 11999,8601 z" | ||
22 | id="path193" | ||
23 | style="fill:#008000;visibility:visible" /> | ||
24 | <path | ||
25 | d="M 11999,7801 L 11999,8361" | ||
26 | id="path197" | ||
27 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
28 | <path | ||
29 | d="M 7999,10401 L 7899,10101 L 8099,10101 L 7999,10401 z" | ||
30 | id="path209" | ||
31 | style="fill:#008000;visibility:visible" /> | ||
32 | <path | ||
33 | d="M 7999,9601 L 7999,10161" | ||
34 | id="path213" | ||
35 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
36 | <path | ||
37 | d="M 11999,7801 L 11685,7840 L 11724,7644 L 11999,7801 z" | ||
38 | id="path225" | ||
39 | style="fill:#008000;visibility:visible" /> | ||
40 | <path | ||
41 | d="M 7999,7001 L 11764,7754" | ||
42 | id="path229" | ||
43 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
44 | <g | ||
45 | transform="matrix(0.9895258,-0.1443562,0.1443562,0.9895258,-1244.4792,1416.5139)" | ||
46 | id="g245" | ||
47 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
48 | <text | ||
49 | id="text247"> | ||
50 | <tspan | ||
51 | x="9139 9368 9579 9808 9986 10075 10252 10481 10659 10837 10909" | ||
52 | y="9284" | ||
53 | id="tspan249">RSDataReply</tspan> | ||
54 | </text> | ||
55 | </g> | ||
56 | <path | ||
57 | d="M 7999,9601 L 8281,9458 L 8311,9655 L 7999,9601 z" | ||
58 | id="path259" | ||
59 | style="fill:#008000;visibility:visible" /> | ||
60 | <path | ||
61 | d="M 11999,9001 L 8236,9565" | ||
62 | id="path263" | ||
63 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
64 | <g | ||
65 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,1620.9382,-1639.4947)" | ||
66 | id="g279" | ||
67 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
68 | <text | ||
69 | id="text281"> | ||
70 | <tspan | ||
71 | x="8743 8972 9132 9310 9573 9801 10013 10242 10419 10597 10775 10953 11114" | ||
72 | y="7023" | ||
73 | id="tspan283">CsumRSRequest</tspan> | ||
74 | </text> | ||
75 | </g> | ||
76 | <text | ||
77 | id="text297" | ||
78 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
79 | <tspan | ||
80 | x="4034 4263 4440 4703 4881 5042 5219 5397 5503 5681 5842 6003 6180 6341 6519 6625 6803 6980 7158 7336 7497 7586 7692" | ||
81 | y="5707" | ||
82 | id="tspan299">w_make_resync_request()</tspan> | ||
83 | </text> | ||
84 | <text | ||
85 | id="text313" | ||
86 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
87 | <tspan | ||
88 | x="12199 12305 12483 12644 12821 12893 13054 13232 13410 13638 13816 13905 14083 14311 14489 14667 14845 15023 15184 15272 15378" | ||
89 | y="7806" | ||
90 | id="tspan315">receive_DataRequest()</tspan> | ||
91 | </text> | ||
92 | <text | ||
93 | id="text329" | ||
94 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
95 | <tspan | ||
96 | x="12199 12377 12483 12660 12838 13016 13194 13372 13549 13621 13799 13977 14083 14261 14438 14616 14794 14955 15133 15294 15399" | ||
97 | y="8606" | ||
98 | id="tspan331">drbd_endio_read_sec()</tspan> | ||
99 | </text> | ||
100 | <text | ||
101 | id="text345" | ||
102 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
103 | <tspan | ||
104 | x="12191 12420 12597 12775 12953 13131 13309 13486 13664 13825 13986 14164 14426 14604 14710 14871 15049 15154 15332 15510 15616" | ||
105 | y="9007" | ||
106 | id="tspan347">w_e_end_csum_rs_req()</tspan> | ||
107 | </text> | ||
108 | <text | ||
109 | id="text361" | ||
110 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
111 | <tspan | ||
112 | x="4444 4550 4728 4889 5066 5138 5299 5477 5655 5883 6095 6324 6501 6590 6768 6997 7175 7352 7424 7585 7691" | ||
113 | y="9507" | ||
114 | id="tspan363">receive_RSDataReply()</tspan> | ||
115 | </text> | ||
116 | <text | ||
117 | id="text377" | ||
118 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
119 | <tspan | ||
120 | x="4457 4635 4741 4918 5096 5274 5452 5630 5807 5879 6057 6235 6464 6569 6641 6730 6908 7086 7247 7425 7585 7691" | ||
121 | y="10407" | ||
122 | id="tspan379">drbd_endio_write_sec()</tspan> | ||
123 | </text> | ||
124 | <text | ||
125 | id="text393" | ||
126 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
127 | <tspan | ||
128 | x="4647 4825 5003 5180 5358 5536 5714 5820 5997 6158 6319 6497 6658 6836 7013 7085 7263 7424 7585 7691" | ||
129 | y="10907" | ||
130 | id="tspan395">e_end_resync_block()</tspan> | ||
131 | </text> | ||
132 | <path | ||
133 | d="M 11999,11601 L 11685,11640 L 11724,11444 L 11999,11601 z" | ||
134 | id="path405" | ||
135 | style="fill:#000080;visibility:visible" /> | ||
136 | <path | ||
137 | d="M 7999,10801 L 11764,11554" | ||
138 | id="path409" | ||
139 | style="fill:none;stroke:#000080;visibility:visible" /> | ||
140 | <g | ||
141 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,2434.7562,-1674.649)" | ||
142 | id="g425" | ||
143 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
144 | <text | ||
145 | id="text427"> | ||
146 | <tspan | ||
147 | x="9320 9621 9726 9798 9887 10065 10277 10438" | ||
148 | y="10943" | ||
149 | id="tspan429">WriteAck</tspan> | ||
150 | </text> | ||
151 | </g> | ||
152 | <text | ||
153 | id="text443" | ||
154 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
155 | <tspan | ||
156 | x="12199 12377 12555 12644 12821 13033 13105 13283 13444 13604 13816 13977 14138 14244" | ||
157 | y="11559" | ||
158 | id="tspan445">got_BlockAck()</tspan> | ||
159 | </text> | ||
160 | <text | ||
161 | id="text459" | ||
162 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
163 | <tspan | ||
164 | x="7999 8304 8541 8778 8990 9201 9413 9650 10001 10120 10357 10594 10806 11043 11280 11398 11703 11940 12152 12364 12601 12812 12931 13049 13261 13498 13710 13947 14065 14302 14540 14658 14777 14870 15107 15225 15437 15649 15886" | ||
165 | y="4877" | ||
166 | id="tspan461">Checksum based Resync, case not in sync</tspan> | ||
167 | </text> | ||
168 | <text | ||
169 | id="text475" | ||
170 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
171 | <tspan | ||
172 | x="6961 7266 7571 7854 8159 8299 8536 8654 8891 9010 9247 9484 9603 9840 9958 10077 10170 10407" | ||
173 | y="2806" | ||
174 | id="tspan477">DRBD-8.3 data flow</tspan> | ||
175 | </text> | ||
176 | <text | ||
177 | id="text491" | ||
178 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
179 | <tspan | ||
180 | x="5190 5419 5596 5774 5952 6113 6291 6468 6646 6824 6985 7146 7324 7586 7692" | ||
181 | y="7005" | ||
182 | id="tspan493">w_e_send_csum()</tspan> | ||
183 | </text> | ||
184 | <path | ||
185 | d="M 11999,17601 L 11899,17301 L 12099,17301 L 11999,17601 z" | ||
186 | id="path503" | ||
187 | style="fill:#008000;visibility:visible" /> | ||
188 | <path | ||
189 | d="M 11999,16801 L 11999,17361" | ||
190 | id="path507" | ||
191 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
192 | <path | ||
193 | d="M 11999,16801 L 11685,16840 L 11724,16644 L 11999,16801 z" | ||
194 | id="path519" | ||
195 | style="fill:#008000;visibility:visible" /> | ||
196 | <path | ||
197 | d="M 7999,16001 L 11764,16754" | ||
198 | id="path523" | ||
199 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
200 | <g | ||
201 | transform="matrix(0.9895258,-0.1443562,0.1443562,0.9895258,-2539.5806,1529.3491)" | ||
202 | id="g539" | ||
203 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
204 | <text | ||
205 | id="text541"> | ||
206 | <tspan | ||
207 | x="9269 9498 9709 9798 9959 10048 10226 10437 10598 10776" | ||
208 | y="18265" | ||
209 | id="tspan543">RSIsInSync</tspan> | ||
210 | </text> | ||
211 | </g> | ||
212 | <path | ||
213 | d="M 7999,18601 L 8281,18458 L 8311,18655 L 7999,18601 z" | ||
214 | id="path553" | ||
215 | style="fill:#000080;visibility:visible" /> | ||
216 | <path | ||
217 | d="M 11999,18001 L 8236,18565" | ||
218 | id="path557" | ||
219 | style="fill:none;stroke:#000080;visibility:visible" /> | ||
220 | <g | ||
221 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,3461.4027,-1449.3012)" | ||
222 | id="g573" | ||
223 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
224 | <text | ||
225 | id="text575"> | ||
226 | <tspan | ||
227 | x="8743 8972 9132 9310 9573 9801 10013 10242 10419 10597 10775 10953 11114" | ||
228 | y="16023" | ||
229 | id="tspan577">CsumRSRequest</tspan> | ||
230 | </text> | ||
231 | </g> | ||
232 | <text | ||
233 | id="text591" | ||
234 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
235 | <tspan | ||
236 | x="12199 12305 12483 12644 12821 12893 13054 13232 13410 13638 13816 13905 14083 14311 14489 14667 14845 15023 15184 15272 15378" | ||
237 | y="16806" | ||
238 | id="tspan593">receive_DataRequest()</tspan> | ||
239 | </text> | ||
240 | <text | ||
241 | id="text607" | ||
242 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
243 | <tspan | ||
244 | x="12199 12377 12483 12660 12838 13016 13194 13372 13549 13621 13799 13977 14083 14261 14438 14616 14794 14955 15133 15294 15399" | ||
245 | y="17606" | ||
246 | id="tspan609">drbd_endio_read_sec()</tspan> | ||
247 | </text> | ||
248 | <text | ||
249 | id="text623" | ||
250 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
251 | <tspan | ||
252 | x="12191 12420 12597 12775 12953 13131 13309 13486 13664 13825 13986 14164 14426 14604 14710 14871 15049 15154 15332 15510 15616" | ||
253 | y="18007" | ||
254 | id="tspan625">w_e_end_csum_rs_req()</tspan> | ||
255 | </text> | ||
256 | <text | ||
257 | id="text639" | ||
258 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
259 | <tspan | ||
260 | x="5735 5913 6091 6180 6357 6446 6607 6696 6874 7085 7246 7424 7585 7691" | ||
261 | y="18507" | ||
262 | id="tspan641">got_IsInSync()</tspan> | ||
263 | </text> | ||
264 | <text | ||
265 | id="text655" | ||
266 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
267 | <tspan | ||
268 | x="7999 8304 8541 8778 8990 9201 9413 9650 10001 10120 10357 10594 10806 11043 11280 11398 11703 11940 12152 12364 12601 12812 12931 13049 13261 13498 13710 13947 14065 14159 14396 14514 14726 14937 15175" | ||
269 | y="13877" | ||
270 | id="tspan657">Checksum based Resync, case in sync</tspan> | ||
271 | </text> | ||
272 | <path | ||
273 | d="M 12000,24601 L 11900,24301 L 12100,24301 L 12000,24601 z" | ||
274 | id="path667" | ||
275 | style="fill:#008000;visibility:visible" /> | ||
276 | <path | ||
277 | d="M 12000,23801 L 12000,24361" | ||
278 | id="path671" | ||
279 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
280 | <path | ||
281 | d="M 8000,26401 L 7900,26101 L 8100,26101 L 8000,26401 z" | ||
282 | id="path683" | ||
283 | style="fill:#008000;visibility:visible" /> | ||
284 | <path | ||
285 | d="M 8000,25601 L 8000,26161" | ||
286 | id="path687" | ||
287 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
288 | <path | ||
289 | d="M 12000,23801 L 11686,23840 L 11725,23644 L 12000,23801 z" | ||
290 | id="path699" | ||
291 | style="fill:#008000;visibility:visible" /> | ||
292 | <path | ||
293 | d="M 8000,23001 L 11765,23754" | ||
294 | id="path703" | ||
295 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
296 | <g | ||
297 | transform="matrix(0.9895258,-0.1443562,0.1443562,0.9895258,-3543.8452,1630.5143)" | ||
298 | id="g719" | ||
299 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
300 | <text | ||
301 | id="text721"> | ||
302 | <tspan | ||
303 | x="9464 9710 9921 10150 10328 10505 10577" | ||
304 | y="25236" | ||
305 | id="tspan723">OVReply</tspan> | ||
306 | </text> | ||
307 | </g> | ||
308 | <path | ||
309 | d="M 8000,25601 L 8282,25458 L 8312,25655 L 8000,25601 z" | ||
310 | id="path733" | ||
311 | style="fill:#008000;visibility:visible" /> | ||
312 | <path | ||
313 | d="M 12000,25001 L 8237,25565" | ||
314 | id="path737" | ||
315 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
316 | <g | ||
317 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,4918.2801,-1381.2128)" | ||
318 | id="g753" | ||
319 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
320 | <text | ||
321 | id="text755"> | ||
322 | <tspan | ||
323 | x="9142 9388 9599 9828 10006 10183 10361 10539 10700" | ||
324 | y="23106" | ||
325 | id="tspan757">OVRequest</tspan> | ||
326 | </text> | ||
327 | </g> | ||
328 | <text | ||
329 | id="text771" | ||
330 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
331 | <tspan | ||
332 | x="12200 12306 12484 12645 12822 12894 13055 13233 13411 13656 13868 14097 14274 14452 14630 14808 14969 15058 15163" | ||
333 | y="23806" | ||
334 | id="tspan773">receive_OVRequest()</tspan> | ||
335 | </text> | ||
336 | <text | ||
337 | id="text787" | ||
338 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
339 | <tspan | ||
340 | x="12200 12378 12484 12661 12839 13017 13195 13373 13550 13622 13800 13978 14084 14262 14439 14617 14795 14956 15134 15295 15400" | ||
341 | y="24606" | ||
342 | id="tspan789">drbd_endio_read_sec()</tspan> | ||
343 | </text> | ||
344 | <text | ||
345 | id="text803" | ||
346 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
347 | <tspan | ||
348 | x="12192 12421 12598 12776 12954 13132 13310 13487 13665 13843 14004 14182 14288 14465 14643 14749" | ||
349 | y="25007" | ||
350 | id="tspan805">w_e_end_ov_req()</tspan> | ||
351 | </text> | ||
352 | <text | ||
353 | id="text819" | ||
354 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
355 | <tspan | ||
356 | x="5101 5207 5385 5546 5723 5795 5956 6134 6312 6557 6769 6998 7175 7353 7425 7586 7692" | ||
357 | y="25507" | ||
358 | id="tspan821">receive_OVReply()</tspan> | ||
359 | </text> | ||
360 | <text | ||
361 | id="text835" | ||
362 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
363 | <tspan | ||
364 | x="4492 4670 4776 4953 5131 5309 5487 5665 5842 5914 6092 6270 6376 6554 6731 6909 7087 7248 7426 7587 7692" | ||
365 | y="26407" | ||
366 | id="tspan837">drbd_endio_read_sec()</tspan> | ||
367 | </text> | ||
368 | <text | ||
369 | id="text851" | ||
370 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
371 | <tspan | ||
372 | x="4902 5131 5308 5486 5664 5842 6020 6197 6375 6553 6714 6892 6998 7175 7353 7425 7586 7692" | ||
373 | y="26907" | ||
374 | id="tspan853">w_e_end_ov_reply()</tspan> | ||
375 | </text> | ||
376 | <path | ||
377 | d="M 12000,27601 L 11686,27640 L 11725,27444 L 12000,27601 z" | ||
378 | id="path863" | ||
379 | style="fill:#000080;visibility:visible" /> | ||
380 | <path | ||
381 | d="M 8000,26801 L 11765,27554" | ||
382 | id="path867" | ||
383 | style="fill:none;stroke:#000080;visibility:visible" /> | ||
384 | <g | ||
385 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,5704.1907,-1328.312)" | ||
386 | id="g883" | ||
387 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
388 | <text | ||
389 | id="text885"> | ||
390 | <tspan | ||
391 | x="9279 9525 9736 9965 10143 10303 10481 10553" | ||
392 | y="26935" | ||
393 | id="tspan887">OVResult</tspan> | ||
394 | </text> | ||
395 | </g> | ||
396 | <text | ||
397 | id="text901" | ||
398 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
399 | <tspan | ||
400 | x="12200 12378 12556 12645 12822 13068 13280 13508 13686 13847 14025 14097 14185 14291" | ||
401 | y="27559" | ||
402 | id="tspan903">got_OVResult()</tspan> | ||
403 | </text> | ||
404 | <text | ||
405 | id="text917" | ||
406 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
407 | <tspan | ||
408 | x="8000 8330 8567 8660 8754 8991 9228 9346 9558 9795 9935 10028 10146" | ||
409 | y="21877" | ||
410 | id="tspan919">Online verify</tspan> | ||
411 | </text> | ||
412 | <text | ||
413 | id="text933" | ||
414 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
415 | <tspan | ||
416 | x="4641 4870 5047 5310 5488 5649 5826 6004 6182 6343 6521 6626 6804 6982 7160 7338 7499 7587 7693" | ||
417 | y="23005" | ||
418 | id="tspan935">w_make_ov_request()</tspan> | ||
419 | </text> | ||
420 | <path | ||
421 | d="M 8000,6500 L 7900,6200 L 8100,6200 L 8000,6500 z" | ||
422 | id="path945" | ||
423 | style="fill:#008000;visibility:visible" /> | ||
424 | <path | ||
425 | d="M 8000,5700 L 8000,6260" | ||
426 | id="path949" | ||
427 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
428 | <path | ||
429 | d="M 3900,5500 L 3700,5500 L 3700,11000 L 3900,11000" | ||
430 | id="path961" | ||
431 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
432 | <path | ||
433 | d="M 3900,14500 L 3700,14500 L 3700,18600 L 3900,18600" | ||
434 | id="path973" | ||
435 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
436 | <path | ||
437 | d="M 3900,22800 L 3700,22800 L 3700,26900 L 3900,26900" | ||
438 | id="path985" | ||
439 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
440 | <text | ||
441 | id="text1001" | ||
442 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
443 | <tspan | ||
444 | x="4492 4670 4776 4953 5131 5309 5487 5665 5842 5914 6092 6270 6376 6554 6731 6909 7087 7248 7426 7587 7692" | ||
445 | y="6506" | ||
446 | id="tspan1003">drbd_endio_read_sec()</tspan> | ||
447 | </text> | ||
448 | <text | ||
449 | id="text1017" | ||
450 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
451 | <tspan | ||
452 | x="4034 4263 4440 4703 4881 5042 5219 5397 5503 5681 5842 6003 6180 6341 6519 6625 6803 6980 7158 7336 7497 7586 7692" | ||
453 | y="14708" | ||
454 | id="tspan1019">w_make_resync_request()</tspan> | ||
455 | </text> | ||
456 | <text | ||
457 | id="text1033" | ||
458 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
459 | <tspan | ||
460 | x="5190 5419 5596 5774 5952 6113 6291 6468 6646 6824 6985 7146 7324 7586 7692" | ||
461 | y="16006" | ||
462 | id="tspan1035">w_e_send_csum()</tspan> | ||
463 | </text> | ||
464 | <path | ||
465 | d="M 8000,15501 L 7900,15201 L 8100,15201 L 8000,15501 z" | ||
466 | id="path1045" | ||
467 | style="fill:#008000;visibility:visible" /> | ||
468 | <path | ||
469 | d="M 8000,14701 L 8000,15261" | ||
470 | id="path1049" | ||
471 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
472 | <text | ||
473 | id="text1065" | ||
474 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
475 | <tspan | ||
476 | x="4492 4670 4776 4953 5131 5309 5487 5665 5842 5914 6092 6270 6376 6554 6731 6909 7087 7248 7426 7587 7692" | ||
477 | y="15507" | ||
478 | id="tspan1067">drbd_endio_read_sec()</tspan> | ||
479 | </text> | ||
480 | <path | ||
481 | d="M 16100,9000 L 16300,9000 L 16300,7500 L 16100,7500" | ||
482 | id="path1077" | ||
483 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
484 | <path | ||
485 | d="M 16100,18000 L 16300,18000 L 16300,16500 L 16100,16500" | ||
486 | id="path1089" | ||
487 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
488 | <path | ||
489 | d="M 16100,25000 L 16300,25000 L 16300,23500 L 16100,23500" | ||
490 | id="path1101" | ||
491 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
492 | <text | ||
493 | id="text1117" | ||
494 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
495 | <tspan | ||
496 | x="2026 2132 2293 2471 2648 2826 3004 3076 3254 3431 3503 3681 3787" | ||
497 | y="5402" | ||
498 | id="tspan1119">rs_begin_io()</tspan> | ||
499 | </text> | ||
500 | <text | ||
501 | id="text1133" | ||
502 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
503 | <tspan | ||
504 | x="2027 2133 2294 2472 2649 2827 3005 3077 3255 3432 3504 3682 3788" | ||
505 | y="14402" | ||
506 | id="tspan1135">rs_begin_io()</tspan> | ||
507 | </text> | ||
508 | <text | ||
509 | id="text1149" | ||
510 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
511 | <tspan | ||
512 | x="2026 2132 2293 2471 2648 2826 3004 3076 3254 3431 3503 3681 3787" | ||
513 | y="22602" | ||
514 | id="tspan1151">rs_begin_io()</tspan> | ||
515 | </text> | ||
516 | <text | ||
517 | id="text1165" | ||
518 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
519 | <tspan | ||
520 | x="1426 1532 1693 1871 2031 2209 2472 2649 2721 2899 2988 3166 3344 3416 3593 3699" | ||
521 | y="11302" | ||
522 | id="tspan1167">rs_complete_io()</tspan> | ||
523 | </text> | ||
524 | <text | ||
525 | id="text1181" | ||
526 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
527 | <tspan | ||
528 | x="1526 1632 1793 1971 2131 2309 2572 2749 2821 2999 3088 3266 3444 3516 3693 3799" | ||
529 | y="18931" | ||
530 | id="tspan1183">rs_complete_io()</tspan> | ||
531 | </text> | ||
532 | <text | ||
533 | id="text1197" | ||
534 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
535 | <tspan | ||
536 | x="1526 1632 1793 1971 2131 2309 2572 2749 2821 2999 3088 3266 3444 3516 3693 3799" | ||
537 | y="27231" | ||
538 | id="tspan1199">rs_complete_io()</tspan> | ||
539 | </text> | ||
540 | <text | ||
541 | id="text1213" | ||
542 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
543 | <tspan | ||
544 | x="16126 16232 16393 16571 16748 16926 17104 17176 17354 17531 17603 17781 17887" | ||
545 | y="7402" | ||
546 | id="tspan1215">rs_begin_io()</tspan> | ||
547 | </text> | ||
548 | <text | ||
549 | id="text1229" | ||
550 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
551 | <tspan | ||
552 | x="16127 16233 16394 16572 16749 16927 17105 17177 17355 17532 17604 17782 17888" | ||
553 | y="16331" | ||
554 | id="tspan1231">rs_begin_io()</tspan> | ||
555 | </text> | ||
556 | <text | ||
557 | id="text1245" | ||
558 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
559 | <tspan | ||
560 | x="16127 16233 16394 16572 16749 16927 17105 17177 17355 17532 17604 17782 17888" | ||
561 | y="23302" | ||
562 | id="tspan1247">rs_begin_io()</tspan> | ||
563 | </text> | ||
564 | <text | ||
565 | id="text1261" | ||
566 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
567 | <tspan | ||
568 | x="16115 16221 16382 16560 16720 16898 17161 17338 17410 17588 17677 17855 18033 18105 18282 18388" | ||
569 | y="9302" | ||
570 | id="tspan1263">rs_complete_io()</tspan> | ||
571 | </text> | ||
572 | <text | ||
573 | id="text1277" | ||
574 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
575 | <tspan | ||
576 | x="16115 16221 16382 16560 16720 16898 17161 17338 17410 17588 17677 17855 18033 18105 18282 18388" | ||
577 | y="18331" | ||
578 | id="tspan1279">rs_complete_io()</tspan> | ||
579 | </text> | ||
580 | <text | ||
581 | id="text1293" | ||
582 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
583 | <tspan | ||
584 | x="16126 16232 16393 16571 16731 16909 17172 17349 17421 17599 17688 17866 18044 18116 18293 18399" | ||
585 | y="25302" | ||
586 | id="tspan1295">rs_complete_io()</tspan> | ||
587 | </text> | ||
588 | </svg> | ||
diff --git a/Documentation/blockdev/drbd/DRBD-data-packets.svg b/Documentation/blockdev/drbd/DRBD-data-packets.svg new file mode 100644 index 000000000000..48a1e2165fec --- /dev/null +++ b/Documentation/blockdev/drbd/DRBD-data-packets.svg | |||
@@ -0,0 +1,459 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||
3 | <svg | ||
4 | xmlns:svg="http://www.w3.org/2000/svg" | ||
5 | xmlns="http://www.w3.org/2000/svg" | ||
6 | version="1.0" | ||
7 | width="210mm" | ||
8 | height="297mm" | ||
9 | viewBox="0 0 21000 29700" | ||
10 | id="svg2" | ||
11 | style="fill-rule:evenodd"> | ||
12 | <defs | ||
13 | id="defs4" /> | ||
14 | <g | ||
15 | id="Default" | ||
16 | style="visibility:visible"> | ||
17 | <desc | ||
18 | id="desc176">Master slide</desc> | ||
19 | </g> | ||
20 | <path | ||
21 | d="M 11999,19601 L 11899,19301 L 12099,19301 L 11999,19601 z" | ||
22 | id="path189" | ||
23 | style="fill:#008000;visibility:visible" /> | ||
24 | <path | ||
25 | d="M 11999,18801 L 11999,19361" | ||
26 | id="path193" | ||
27 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
28 | <path | ||
29 | d="M 7999,21401 L 7899,21101 L 8099,21101 L 7999,21401 z" | ||
30 | id="path205" | ||
31 | style="fill:#008000;visibility:visible" /> | ||
32 | <path | ||
33 | d="M 7999,20601 L 7999,21161" | ||
34 | id="path209" | ||
35 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
36 | <path | ||
37 | d="M 11999,18801 L 11685,18840 L 11724,18644 L 11999,18801 z" | ||
38 | id="path221" | ||
39 | style="fill:#008000;visibility:visible" /> | ||
40 | <path | ||
41 | d="M 7999,18001 L 11764,18754" | ||
42 | id="path225" | ||
43 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
44 | <text | ||
45 | x="-3023.845" | ||
46 | y="1106.8124" | ||
47 | transform="matrix(0.9895258,-0.1443562,0.1443562,0.9895258,0,0)" | ||
48 | id="text243" | ||
49 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
50 | <tspan | ||
51 | x="6115.1553 6344.1553 6555.1553 6784.1553 6962.1553 7051.1553 7228.1553 7457.1553 7635.1553 7813.1553 7885.1553" | ||
52 | y="21390.812" | ||
53 | id="tspan245">RSDataReply</tspan> | ||
54 | </text> | ||
55 | <path | ||
56 | d="M 7999,20601 L 8281,20458 L 8311,20655 L 7999,20601 z" | ||
57 | id="path255" | ||
58 | style="fill:#008000;visibility:visible" /> | ||
59 | <path | ||
60 | d="M 11999,20001 L 8236,20565" | ||
61 | id="path259" | ||
62 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
63 | <text | ||
64 | x="3502.5356" | ||
65 | y="-2184.6621" | ||
66 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,0,0)" | ||
67 | id="text277" | ||
68 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
69 | <tspan | ||
70 | x="12321.536 12550.536 12761.536 12990.536 13168.536 13257.536 13434.536 13663.536 13841.536 14019.536 14196.536 14374.536 14535.536" | ||
71 | y="15854.338" | ||
72 | id="tspan279">RSDataRequest</tspan> | ||
73 | </text> | ||
74 | <text | ||
75 | id="text293" | ||
76 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
77 | <tspan | ||
78 | x="4034 4263 4440 4703 4881 5042 5219 5397 5503 5681 5842 6003 6180 6341 6519 6625 6803 6980 7158 7336 7497 7586 7692" | ||
79 | y="17807" | ||
80 | id="tspan295">w_make_resync_request()</tspan> | ||
81 | </text> | ||
82 | <text | ||
83 | id="text309" | ||
84 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
85 | <tspan | ||
86 | x="12199 12305 12483 12644 12821 12893 13054 13232 13410 13638 13816 13905 14083 14311 14489 14667 14845 15023 15184 15272 15378" | ||
87 | y="18806" | ||
88 | id="tspan311">receive_DataRequest()</tspan> | ||
89 | </text> | ||
90 | <text | ||
91 | id="text325" | ||
92 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
93 | <tspan | ||
94 | x="12199 12377 12483 12660 12838 13016 13194 13372 13549 13621 13799 13977 14083 14261 14438 14616 14794 14955 15133 15294 15399" | ||
95 | y="19606" | ||
96 | id="tspan327">drbd_endio_read_sec()</tspan> | ||
97 | </text> | ||
98 | <text | ||
99 | id="text341" | ||
100 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
101 | <tspan | ||
102 | x="12191 12420 12597 12775 12953 13131 13309 13486 13664 13770 13931 14109 14287 14375 14553 14731 14837 15015 15192 15298" | ||
103 | y="20007" | ||
104 | id="tspan343">w_e_end_rsdata_req()</tspan> | ||
105 | </text> | ||
106 | <text | ||
107 | id="text357" | ||
108 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
109 | <tspan | ||
110 | x="4444 4550 4728 4889 5066 5138 5299 5477 5655 5883 6095 6324 6501 6590 6768 6997 7175 7352 7424 7585 7691" | ||
111 | y="20507" | ||
112 | id="tspan359">receive_RSDataReply()</tspan> | ||
113 | </text> | ||
114 | <text | ||
115 | id="text373" | ||
116 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
117 | <tspan | ||
118 | x="4457 4635 4741 4918 5096 5274 5452 5630 5807 5879 6057 6235 6464 6569 6641 6730 6908 7086 7247 7425 7585 7691" | ||
119 | y="21407" | ||
120 | id="tspan375">drbd_endio_write_sec()</tspan> | ||
121 | </text> | ||
122 | <text | ||
123 | id="text389" | ||
124 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
125 | <tspan | ||
126 | x="4647 4825 5003 5180 5358 5536 5714 5820 5997 6158 6319 6497 6658 6836 7013 7085 7263 7424 7585 7691" | ||
127 | y="21907" | ||
128 | id="tspan391">e_end_resync_block()</tspan> | ||
129 | </text> | ||
130 | <path | ||
131 | d="M 11999,22601 L 11685,22640 L 11724,22444 L 11999,22601 z" | ||
132 | id="path401" | ||
133 | style="fill:#000080;visibility:visible" /> | ||
134 | <path | ||
135 | d="M 7999,21801 L 11764,22554" | ||
136 | id="path405" | ||
137 | style="fill:none;stroke:#000080;visibility:visible" /> | ||
138 | <text | ||
139 | x="4290.3008" | ||
140 | y="-2369.6162" | ||
141 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,0,0)" | ||
142 | id="text423" | ||
143 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
144 | <tspan | ||
145 | x="13610.301 13911.301 14016.301 14088.301 14177.301 14355.301 14567.301 14728.301" | ||
146 | y="19573.385" | ||
147 | id="tspan425">WriteAck</tspan> | ||
148 | </text> | ||
149 | <text | ||
150 | id="text439" | ||
151 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
152 | <tspan | ||
153 | x="12199 12377 12555 12644 12821 13033 13105 13283 13444 13604 13816 13977 14138 14244" | ||
154 | y="22559" | ||
155 | id="tspan441">got_BlockAck()</tspan> | ||
156 | </text> | ||
157 | <text | ||
158 | id="text455" | ||
159 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
160 | <tspan | ||
161 | x="7999 8304 8541 8753 8964 9201 9413 9531 9769 9862 10099 10310 10522 10734 10852 10971 11208 11348 11585 11822" | ||
162 | y="16877" | ||
163 | id="tspan457">Resync blocks, 4-32K</tspan> | ||
164 | </text> | ||
165 | <path | ||
166 | d="M 12000,7601 L 11900,7301 L 12100,7301 L 12000,7601 z" | ||
167 | id="path467" | ||
168 | style="fill:#008000;visibility:visible" /> | ||
169 | <path | ||
170 | d="M 12000,6801 L 12000,7361" | ||
171 | id="path471" | ||
172 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
173 | <path | ||
174 | d="M 12000,6801 L 11686,6840 L 11725,6644 L 12000,6801 z" | ||
175 | id="path483" | ||
176 | style="fill:#008000;visibility:visible" /> | ||
177 | <path | ||
178 | d="M 8000,6001 L 11765,6754" | ||
179 | id="path487" | ||
180 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
181 | <text | ||
182 | x="-1288.1796" | ||
183 | y="1279.7666" | ||
184 | transform="matrix(0.9895258,-0.1443562,0.1443562,0.9895258,0,0)" | ||
185 | id="text505" | ||
186 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
187 | <tspan | ||
188 | x="8174.8208 8475.8203 8580.8203 8652.8203 8741.8203 8919.8203 9131.8203 9292.8203" | ||
189 | y="9516.7666" | ||
190 | id="tspan507">WriteAck</tspan> | ||
191 | </text> | ||
192 | <path | ||
193 | d="M 8000,8601 L 8282,8458 L 8312,8655 L 8000,8601 z" | ||
194 | id="path517" | ||
195 | style="fill:#000080;visibility:visible" /> | ||
196 | <path | ||
197 | d="M 12000,8001 L 8237,8565" | ||
198 | id="path521" | ||
199 | style="fill:none;stroke:#000080;visibility:visible" /> | ||
200 | <text | ||
201 | x="1065.6655" | ||
202 | y="-2097.7664" | ||
203 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,0,0)" | ||
204 | id="text539" | ||
205 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
206 | <tspan | ||
207 | x="10682.666 10911.666 11088.666 11177.666" | ||
208 | y="4107.2339" | ||
209 | id="tspan541">Data</tspan> | ||
210 | </text> | ||
211 | <text | ||
212 | id="text555" | ||
213 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
214 | <tspan | ||
215 | x="4746 4924 5030 5207 5385 5563 5826 6003 6164 6342 6520 6626 6803 6981 7159 7337 7498 7587 7692" | ||
216 | y="5505" | ||
217 | id="tspan557">drbd_make_request()</tspan> | ||
218 | </text> | ||
219 | <text | ||
220 | id="text571" | ||
221 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
222 | <tspan | ||
223 | x="12200 12306 12484 12645 12822 12894 13055 13233 13411 13639 13817 13906 14084 14190" | ||
224 | y="6806" | ||
225 | id="tspan573">receive_Data()</tspan> | ||
226 | </text> | ||
227 | <text | ||
228 | id="text587" | ||
229 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
230 | <tspan | ||
231 | x="12200 12378 12484 12661 12839 13017 13195 13373 13550 13622 13800 13978 14207 14312 14384 14473 14651 14829 14990 15168 15328 15434" | ||
232 | y="7606" | ||
233 | id="tspan589">drbd_endio_write_sec()</tspan> | ||
234 | </text> | ||
235 | <text | ||
236 | id="text603" | ||
237 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
238 | <tspan | ||
239 | x="12192 12370 12548 12725 12903 13081 13259 13437 13509 13686 13847 14008 14114" | ||
240 | y="8007" | ||
241 | id="tspan605">e_end_block()</tspan> | ||
242 | </text> | ||
243 | <text | ||
244 | id="text619" | ||
245 | style="font-size:318px;font-weight:400;fill:#000080;visibility:visible;font-family:Helvetica embedded"> | ||
246 | <tspan | ||
247 | x="5647 5825 6003 6092 6269 6481 6553 6731 6892 7052 7264 7425 7586 7692" | ||
248 | y="8606" | ||
249 | id="tspan621">got_BlockAck()</tspan> | ||
250 | </text> | ||
251 | <text | ||
252 | id="text635" | ||
253 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
254 | <tspan | ||
255 | x="8000 8305 8542 8779 9016 9109 9346 9486 9604 9956 10049 10189 10328 10565 10705 10942 11179 11298 11603 11742 11835 11954 12191 12310 12428 12665 12902 13139 13279 13516 13753" | ||
256 | y="4877" | ||
257 | id="tspan637">Regular mirrored write, 512-32K</tspan> | ||
258 | </text> | ||
259 | <text | ||
260 | id="text651" | ||
261 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
262 | <tspan | ||
263 | x="5381 5610 5787 5948 6126 6304 6482 6659 6837 7015 7087 7265 7426 7587 7692" | ||
264 | y="6003" | ||
265 | id="tspan653">w_send_dblock()</tspan> | ||
266 | </text> | ||
267 | <path | ||
268 | d="M 8000,6800 L 7900,6500 L 8100,6500 L 8000,6800 z" | ||
269 | id="path663" | ||
270 | style="fill:#008000;visibility:visible" /> | ||
271 | <path | ||
272 | d="M 8000,6000 L 8000,6560" | ||
273 | id="path667" | ||
274 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
275 | <text | ||
276 | id="text683" | ||
277 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
278 | <tspan | ||
279 | x="4602 4780 4886 5063 5241 5419 5597 5775 5952 6024 6202 6380 6609 6714 6786 6875 7053 7231 7409 7515 7587 7692" | ||
280 | y="6905" | ||
281 | id="tspan685">drbd_endio_write_pri()</tspan> | ||
282 | </text> | ||
283 | <path | ||
284 | d="M 12000,13602 L 11900,13302 L 12100,13302 L 12000,13602 z" | ||
285 | id="path695" | ||
286 | style="fill:#008000;visibility:visible" /> | ||
287 | <path | ||
288 | d="M 12000,12802 L 12000,13362" | ||
289 | id="path699" | ||
290 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
291 | <path | ||
292 | d="M 12000,12802 L 11686,12841 L 11725,12645 L 12000,12802 z" | ||
293 | id="path711" | ||
294 | style="fill:#008000;visibility:visible" /> | ||
295 | <path | ||
296 | d="M 8000,12002 L 11765,12755" | ||
297 | id="path715" | ||
298 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
299 | <text | ||
300 | x="-2155.5266" | ||
301 | y="1201.5964" | ||
302 | transform="matrix(0.9895258,-0.1443562,0.1443562,0.9895258,0,0)" | ||
303 | id="text733" | ||
304 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
305 | <tspan | ||
306 | x="7202.4736 7431.4736 7608.4736 7697.4736 7875.4736 8104.4736 8282.4736 8459.4736 8531.4736" | ||
307 | y="15454.597" | ||
308 | id="tspan735">DataReply</tspan> | ||
309 | </text> | ||
310 | <path | ||
311 | d="M 8000,14602 L 8282,14459 L 8312,14656 L 8000,14602 z" | ||
312 | id="path745" | ||
313 | style="fill:#008000;visibility:visible" /> | ||
314 | <path | ||
315 | d="M 12000,14002 L 8237,14566" | ||
316 | id="path749" | ||
317 | style="fill:none;stroke:#008000;visibility:visible" /> | ||
318 | <text | ||
319 | x="2280.3804" | ||
320 | y="-2103.2141" | ||
321 | transform="matrix(0.9788674,0.2044961,-0.2044961,0.9788674,0,0)" | ||
322 | id="text767" | ||
323 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
324 | <tspan | ||
325 | x="11316.381 11545.381 11722.381 11811.381 11989.381 12218.381 12396.381 12573.381 12751.381 12929.381 13090.381" | ||
326 | y="9981.7861" | ||
327 | id="tspan769">DataRequest</tspan> | ||
328 | </text> | ||
329 | <text | ||
330 | id="text783" | ||
331 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
332 | <tspan | ||
333 | x="4746 4924 5030 5207 5385 5563 5826 6003 6164 6342 6520 6626 6803 6981 7159 7337 7498 7587 7692" | ||
334 | y="11506" | ||
335 | id="tspan785">drbd_make_request()</tspan> | ||
336 | </text> | ||
337 | <text | ||
338 | id="text799" | ||
339 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
340 | <tspan | ||
341 | x="12200 12306 12484 12645 12822 12894 13055 13233 13411 13639 13817 13906 14084 14312 14490 14668 14846 15024 15185 15273 15379" | ||
342 | y="12807" | ||
343 | id="tspan801">receive_DataRequest()</tspan> | ||
344 | </text> | ||
345 | <text | ||
346 | id="text815" | ||
347 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
348 | <tspan | ||
349 | x="12200 12378 12484 12661 12839 13017 13195 13373 13550 13622 13800 13978 14084 14262 14439 14617 14795 14956 15134 15295 15400" | ||
350 | y="13607" | ||
351 | id="tspan817">drbd_endio_read_sec()</tspan> | ||
352 | </text> | ||
353 | <text | ||
354 | id="text831" | ||
355 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
356 | <tspan | ||
357 | x="12192 12421 12598 12776 12954 13132 13310 13487 13665 13843 14021 14110 14288 14465 14571 14749 14927 15033" | ||
358 | y="14008" | ||
359 | id="tspan833">w_e_end_data_req()</tspan> | ||
360 | </text> | ||
361 | <g | ||
362 | id="g835" | ||
363 | style="visibility:visible"> | ||
364 | <desc | ||
365 | id="desc837">Drawing</desc> | ||
366 | <text | ||
367 | id="text847" | ||
368 | style="font-size:318px;font-weight:400;fill:#008000;font-family:Helvetica embedded"> | ||
369 | <tspan | ||
370 | x="4885 4991 5169 5330 5507 5579 5740 5918 6096 6324 6502 6591 6769 6997 7175 7353 7425 7586 7692" | ||
371 | y="14607" | ||
372 | id="tspan849">receive_DataReply()</tspan> | ||
373 | </text> | ||
374 | </g> | ||
375 | <text | ||
376 | id="text863" | ||
377 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
378 | <tspan | ||
379 | x="8000 8305 8398 8610 8821 8914 9151 9363 9575 9693 9833 10070 10307 10544 10663 10781 11018 11255 11493 11632 11869 12106" | ||
380 | y="10878" | ||
381 | id="tspan865">Diskless read, 512-32K</tspan> | ||
382 | </text> | ||
383 | <text | ||
384 | id="text879" | ||
385 | style="font-size:318px;font-weight:400;fill:#008000;visibility:visible;font-family:Helvetica embedded"> | ||
386 | <tspan | ||
387 | x="5029 5258 5435 5596 5774 5952 6130 6307 6413 6591 6769 6947 7125 7230 7408 7586 7692" | ||
388 | y="12004" | ||
389 | id="tspan881">w_send_read_req()</tspan> | ||
390 | </text> | ||
391 | <text | ||
392 | id="text895" | ||
393 | style="font-size:423px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
394 | <tspan | ||
395 | x="6961 7266 7571 7854 8159 8278 8515 8633 8870 9107 9226 9463 9581 9700 9793 10030" | ||
396 | y="2806" | ||
397 | id="tspan897">DRBD 8 data flow</tspan> | ||
398 | </text> | ||
399 | <path | ||
400 | d="M 3900,5300 L 3700,5300 L 3700,7000 L 3900,7000" | ||
401 | id="path907" | ||
402 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
403 | <path | ||
404 | d="M 3900,17600 L 3700,17600 L 3700,22000 L 3900,22000" | ||
405 | id="path919" | ||
406 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
407 | <path | ||
408 | d="M 16100,20000 L 16300,20000 L 16300,18500 L 16100,18500" | ||
409 | id="path931" | ||
410 | style="fill:none;stroke:#000000;visibility:visible" /> | ||
411 | <text | ||
412 | id="text947" | ||
413 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
414 | <tspan | ||
415 | x="2126 2304 2376 2554 2731 2909 3087 3159 3337 3515 3587 3764 3870" | ||
416 | y="5202" | ||
417 | id="tspan949">al_begin_io()</tspan> | ||
418 | </text> | ||
419 | <text | ||
420 | id="text963" | ||
421 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
422 | <tspan | ||
423 | x="1632 1810 1882 2060 2220 2398 2661 2839 2910 3088 3177 3355 3533 3605 3783 3888" | ||
424 | y="7331" | ||
425 | id="tspan965">al_complete_io()</tspan> | ||
426 | </text> | ||
427 | <text | ||
428 | id="text979" | ||
429 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
430 | <tspan | ||
431 | x="2126 2232 2393 2571 2748 2926 3104 3176 3354 3531 3603 3781 3887" | ||
432 | y="17431" | ||
433 | id="tspan981">rs_begin_io()</tspan> | ||
434 | </text> | ||
435 | <text | ||
436 | id="text995" | ||
437 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
438 | <tspan | ||
439 | x="1626 1732 1893 2071 2231 2409 2672 2849 2921 3099 3188 3366 3544 3616 3793 3899" | ||
440 | y="22331" | ||
441 | id="tspan997">rs_complete_io()</tspan> | ||
442 | </text> | ||
443 | <text | ||
444 | id="text1011" | ||
445 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
446 | <tspan | ||
447 | x="16027 16133 16294 16472 16649 16827 17005 17077 17255 17432 17504 17682 17788" | ||
448 | y="18402" | ||
449 | id="tspan1013">rs_begin_io()</tspan> | ||
450 | </text> | ||
451 | <text | ||
452 | id="text1027" | ||
453 | style="font-size:318px;font-weight:400;fill:#000000;visibility:visible;font-family:Helvetica embedded"> | ||
454 | <tspan | ||
455 | x="16115 16221 16382 16560 16720 16898 17161 17338 17410 17588 17677 17855 18033 18105 18282 18388" | ||
456 | y="20331" | ||
457 | id="tspan1029">rs_complete_io()</tspan> | ||
458 | </text> | ||
459 | </svg> | ||
diff --git a/Documentation/blockdev/drbd/README.txt b/Documentation/blockdev/drbd/README.txt new file mode 100644 index 000000000000..627b0a1bf35e --- /dev/null +++ b/Documentation/blockdev/drbd/README.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | Description | ||
2 | |||
3 | DRBD is a shared-nothing, synchronously replicated block device. It | ||
4 | is designed to serve as a building block for high availability | ||
5 | clusters and in this context, is a "drop-in" replacement for shared | ||
6 | storage. Simplistically, you could see it as a network RAID 1. | ||
7 | |||
8 | Please visit http://www.drbd.org to find out more. | ||
9 | |||
10 | The here included files are intended to help understand the implementation | ||
11 | |||
12 | DRBD-8.3-data-packets.svg, DRBD-data-packets.svg | ||
13 | relates some functions, and write packets. | ||
14 | |||
15 | conn-states-8.dot, disk-states-8.dot, node-states-8.dot | ||
16 | The sub graphs of DRBD's state transitions | ||
diff --git a/Documentation/blockdev/drbd/conn-states-8.dot b/Documentation/blockdev/drbd/conn-states-8.dot new file mode 100644 index 000000000000..025e8cf5e64a --- /dev/null +++ b/Documentation/blockdev/drbd/conn-states-8.dot | |||
@@ -0,0 +1,18 @@ | |||
1 | digraph conn_states { | ||
2 | StandAllone -> WFConnection [ label = "ioctl_set_net()" ] | ||
3 | WFConnection -> Unconnected [ label = "unable to bind()" ] | ||
4 | WFConnection -> WFReportParams [ label = "in connect() after accept" ] | ||
5 | WFReportParams -> StandAllone [ label = "checks in receive_param()" ] | ||
6 | WFReportParams -> Connected [ label = "in receive_param()" ] | ||
7 | WFReportParams -> WFBitMapS [ label = "sync_handshake()" ] | ||
8 | WFReportParams -> WFBitMapT [ label = "sync_handshake()" ] | ||
9 | WFBitMapS -> SyncSource [ label = "receive_bitmap()" ] | ||
10 | WFBitMapT -> SyncTarget [ label = "receive_bitmap()" ] | ||
11 | SyncSource -> Connected | ||
12 | SyncTarget -> Connected | ||
13 | SyncSource -> PausedSyncS | ||
14 | SyncTarget -> PausedSyncT | ||
15 | PausedSyncS -> SyncSource | ||
16 | PausedSyncT -> SyncTarget | ||
17 | Connected -> WFConnection [ label = "* on network error" ] | ||
18 | } | ||
diff --git a/Documentation/blockdev/drbd/disk-states-8.dot b/Documentation/blockdev/drbd/disk-states-8.dot new file mode 100644 index 000000000000..d06cfb46fb98 --- /dev/null +++ b/Documentation/blockdev/drbd/disk-states-8.dot | |||
@@ -0,0 +1,16 @@ | |||
1 | digraph disk_states { | ||
2 | Diskless -> Inconsistent [ label = "ioctl_set_disk()" ] | ||
3 | Diskless -> Consistent [ label = "ioctl_set_disk()" ] | ||
4 | Diskless -> Outdated [ label = "ioctl_set_disk()" ] | ||
5 | Consistent -> Outdated [ label = "receive_param()" ] | ||
6 | Consistent -> UpToDate [ label = "receive_param()" ] | ||
7 | Consistent -> Inconsistent [ label = "start resync" ] | ||
8 | Outdated -> Inconsistent [ label = "start resync" ] | ||
9 | UpToDate -> Inconsistent [ label = "ioctl_replicate" ] | ||
10 | Inconsistent -> UpToDate [ label = "resync completed" ] | ||
11 | Consistent -> Failed [ label = "io completion error" ] | ||
12 | Outdated -> Failed [ label = "io completion error" ] | ||
13 | UpToDate -> Failed [ label = "io completion error" ] | ||
14 | Inconsistent -> Failed [ label = "io completion error" ] | ||
15 | Failed -> Diskless [ label = "sending notify to peer" ] | ||
16 | } | ||
diff --git a/Documentation/blockdev/drbd/drbd-connection-state-overview.dot b/Documentation/blockdev/drbd/drbd-connection-state-overview.dot new file mode 100644 index 000000000000..6d9cf0a7b11d --- /dev/null +++ b/Documentation/blockdev/drbd/drbd-connection-state-overview.dot | |||
@@ -0,0 +1,85 @@ | |||
1 | // vim: set sw=2 sts=2 : | ||
2 | digraph { | ||
3 | rankdir=BT | ||
4 | bgcolor=white | ||
5 | |||
6 | node [shape=plaintext] | ||
7 | node [fontcolor=black] | ||
8 | |||
9 | StandAlone [ style=filled,fillcolor=gray,label=StandAlone ] | ||
10 | |||
11 | node [fontcolor=lightgray] | ||
12 | |||
13 | Unconnected [ label=Unconnected ] | ||
14 | |||
15 | CommTrouble [ shape=record, | ||
16 | label="{communication loss|{Timeout|BrokenPipe|NetworkFailure}}" ] | ||
17 | |||
18 | node [fontcolor=gray] | ||
19 | |||
20 | subgraph cluster_try_connect { | ||
21 | label="try to connect, handshake" | ||
22 | rank=max | ||
23 | WFConnection [ label=WFConnection ] | ||
24 | WFReportParams [ label=WFReportParams ] | ||
25 | } | ||
26 | |||
27 | TearDown [ label=TearDown ] | ||
28 | |||
29 | Connected [ label=Connected,style=filled,fillcolor=green,fontcolor=black ] | ||
30 | |||
31 | node [fontcolor=lightblue] | ||
32 | |||
33 | StartingSyncS [ label=StartingSyncS ] | ||
34 | StartingSyncT [ label=StartingSyncT ] | ||
35 | |||
36 | subgraph cluster_bitmap_exchange { | ||
37 | node [fontcolor=red] | ||
38 | fontcolor=red | ||
39 | label="new application (WRITE?) requests blocked\lwhile bitmap is exchanged" | ||
40 | |||
41 | WFBitMapT [ label=WFBitMapT ] | ||
42 | WFSyncUUID [ label=WFSyncUUID ] | ||
43 | WFBitMapS [ label=WFBitMapS ] | ||
44 | } | ||
45 | |||
46 | node [fontcolor=blue] | ||
47 | |||
48 | cluster_resync [ shape=record,label="{<any>resynchronisation process running\l'concurrent' application requests allowed|{{<T>PausedSyncT\nSyncTarget}|{<S>PausedSyncS\nSyncSource}}}" ] | ||
49 | |||
50 | node [shape=box,fontcolor=black] | ||
51 | |||
52 | // drbdadm [label="drbdadm connect"] | ||
53 | // handshake [label="drbd_connect()\ndrbd_do_handshake\ndrbd_sync_handshake() etc."] | ||
54 | // comm_error [label="communication trouble"] | ||
55 | |||
56 | // | ||
57 | // edges | ||
58 | // -------------------------------------- | ||
59 | |||
60 | StandAlone -> Unconnected [ label="drbdadm connect" ] | ||
61 | Unconnected -> StandAlone [ label="drbdadm disconnect\lor serious communication trouble" ] | ||
62 | Unconnected -> WFConnection [ label="receiver thread is started" ] | ||
63 | WFConnection -> WFReportParams [ headlabel="accept()\land/or \lconnect()\l" ] | ||
64 | |||
65 | WFReportParams -> StandAlone [ label="during handshake\lpeers do not agree\labout something essential" ] | ||
66 | WFReportParams -> Connected [ label="data identical\lno sync needed",color=green,fontcolor=green ] | ||
67 | |||
68 | WFReportParams -> WFBitMapS | ||
69 | WFReportParams -> WFBitMapT | ||
70 | WFBitMapT -> WFSyncUUID [minlen=0.1,constraint=false] | ||
71 | |||
72 | WFBitMapS -> cluster_resync:S | ||
73 | WFSyncUUID -> cluster_resync:T | ||
74 | |||
75 | edge [color=green] | ||
76 | cluster_resync:any -> Connected [ label="resnyc done",fontcolor=green ] | ||
77 | |||
78 | edge [color=red] | ||
79 | WFReportParams -> CommTrouble | ||
80 | Connected -> CommTrouble | ||
81 | cluster_resync:any -> CommTrouble | ||
82 | edge [color=black] | ||
83 | CommTrouble -> Unconnected [label="receiver thread is stopped" ] | ||
84 | |||
85 | } | ||
diff --git a/Documentation/blockdev/drbd/node-states-8.dot b/Documentation/blockdev/drbd/node-states-8.dot new file mode 100644 index 000000000000..4a2b00c23547 --- /dev/null +++ b/Documentation/blockdev/drbd/node-states-8.dot | |||
@@ -0,0 +1,14 @@ | |||
1 | digraph node_states { | ||
2 | Secondary -> Primary [ label = "ioctl_set_state()" ] | ||
3 | Primary -> Secondary [ label = "ioctl_set_state()" ] | ||
4 | } | ||
5 | |||
6 | digraph peer_states { | ||
7 | Secondary -> Primary [ label = "recv state packet" ] | ||
8 | Primary -> Secondary [ label = "recv state packet" ] | ||
9 | Primary -> Unknown [ label = "connection lost" ] | ||
10 | Secondary -> Unknown [ label = "connection lost" ] | ||
11 | Unknown -> Primary [ label = "connected" ] | ||
12 | Unknown -> Secondary [ label = "connected" ] | ||
13 | } | ||
14 | |||
diff --git a/Documentation/cgroups/blkio-controller.txt b/Documentation/cgroups/blkio-controller.txt new file mode 100644 index 000000000000..630879cd9a42 --- /dev/null +++ b/Documentation/cgroups/blkio-controller.txt | |||
@@ -0,0 +1,135 @@ | |||
1 | Block IO Controller | ||
2 | =================== | ||
3 | Overview | ||
4 | ======== | ||
5 | cgroup subsys "blkio" implements the block io controller. There seems to be | ||
6 | a need of various kinds of IO control policies (like proportional BW, max BW) | ||
7 | both at leaf nodes as well as at intermediate nodes in a storage hierarchy. | ||
8 | Plan is to use the same cgroup based management interface for blkio controller | ||
9 | and based on user options switch IO policies in the background. | ||
10 | |||
11 | In the first phase, this patchset implements proportional weight time based | ||
12 | division of disk policy. It is implemented in CFQ. Hence this policy takes | ||
13 | effect only on leaf nodes when CFQ is being used. | ||
14 | |||
15 | HOWTO | ||
16 | ===== | ||
17 | You can do a very simple testing of running two dd threads in two different | ||
18 | cgroups. Here is what you can do. | ||
19 | |||
20 | - Enable group scheduling in CFQ | ||
21 | CONFIG_CFQ_GROUP_IOSCHED=y | ||
22 | |||
23 | - Compile and boot into kernel and mount IO controller (blkio). | ||
24 | |||
25 | mount -t cgroup -o blkio none /cgroup | ||
26 | |||
27 | - Create two cgroups | ||
28 | mkdir -p /cgroup/test1/ /cgroup/test2 | ||
29 | |||
30 | - Set weights of group test1 and test2 | ||
31 | echo 1000 > /cgroup/test1/blkio.weight | ||
32 | echo 500 > /cgroup/test2/blkio.weight | ||
33 | |||
34 | - Create two same size files (say 512MB each) on same disk (file1, file2) and | ||
35 | launch two dd threads in different cgroup to read those files. | ||
36 | |||
37 | sync | ||
38 | echo 3 > /proc/sys/vm/drop_caches | ||
39 | |||
40 | dd if=/mnt/sdb/zerofile1 of=/dev/null & | ||
41 | echo $! > /cgroup/test1/tasks | ||
42 | cat /cgroup/test1/tasks | ||
43 | |||
44 | dd if=/mnt/sdb/zerofile2 of=/dev/null & | ||
45 | echo $! > /cgroup/test2/tasks | ||
46 | cat /cgroup/test2/tasks | ||
47 | |||
48 | - At macro level, first dd should finish first. To get more precise data, keep | ||
49 | on looking at (with the help of script), at blkio.disk_time and | ||
50 | blkio.disk_sectors files of both test1 and test2 groups. This will tell how | ||
51 | much disk time (in milli seconds), each group got and how many secotors each | ||
52 | group dispatched to the disk. We provide fairness in terms of disk time, so | ||
53 | ideally io.disk_time of cgroups should be in proportion to the weight. | ||
54 | |||
55 | Various user visible config options | ||
56 | =================================== | ||
57 | CONFIG_CFQ_GROUP_IOSCHED | ||
58 | - Enables group scheduling in CFQ. Currently only 1 level of group | ||
59 | creation is allowed. | ||
60 | |||
61 | CONFIG_DEBUG_CFQ_IOSCHED | ||
62 | - Enables some debugging messages in blktrace. Also creates extra | ||
63 | cgroup file blkio.dequeue. | ||
64 | |||
65 | Config options selected automatically | ||
66 | ===================================== | ||
67 | These config options are not user visible and are selected/deselected | ||
68 | automatically based on IO scheduler configuration. | ||
69 | |||
70 | CONFIG_BLK_CGROUP | ||
71 | - Block IO controller. Selected by CONFIG_CFQ_GROUP_IOSCHED. | ||
72 | |||
73 | CONFIG_DEBUG_BLK_CGROUP | ||
74 | - Debug help. Selected by CONFIG_DEBUG_CFQ_IOSCHED. | ||
75 | |||
76 | Details of cgroup files | ||
77 | ======================= | ||
78 | - blkio.weight | ||
79 | - Specifies per cgroup weight. | ||
80 | |||
81 | Currently allowed range of weights is from 100 to 1000. | ||
82 | |||
83 | - blkio.time | ||
84 | - disk time allocated to cgroup per device in milliseconds. First | ||
85 | two fields specify the major and minor number of the device and | ||
86 | third field specifies the disk time allocated to group in | ||
87 | milliseconds. | ||
88 | |||
89 | - blkio.sectors | ||
90 | - number of sectors transferred to/from disk by the group. First | ||
91 | two fields specify the major and minor number of the device and | ||
92 | third field specifies the number of sectors transferred by the | ||
93 | group to/from the device. | ||
94 | |||
95 | - blkio.dequeue | ||
96 | - Debugging aid only enabled if CONFIG_DEBUG_CFQ_IOSCHED=y. This | ||
97 | gives the statistics about how many a times a group was dequeued | ||
98 | from service tree of the device. First two fields specify the major | ||
99 | and minor number of the device and third field specifies the number | ||
100 | of times a group was dequeued from a particular device. | ||
101 | |||
102 | CFQ sysfs tunable | ||
103 | ================= | ||
104 | /sys/block/<disk>/queue/iosched/group_isolation | ||
105 | |||
106 | If group_isolation=1, it provides stronger isolation between groups at the | ||
107 | expense of throughput. By default group_isolation is 0. In general that | ||
108 | means that if group_isolation=0, expect fairness for sequential workload | ||
109 | only. Set group_isolation=1 to see fairness for random IO workload also. | ||
110 | |||
111 | Generally CFQ will put random seeky workload in sync-noidle category. CFQ | ||
112 | will disable idling on these queues and it does a collective idling on group | ||
113 | of such queues. Generally these are slow moving queues and if there is a | ||
114 | sync-noidle service tree in each group, that group gets exclusive access to | ||
115 | disk for certain period. That means it will bring the throughput down if | ||
116 | group does not have enough IO to drive deeper queue depths and utilize disk | ||
117 | capacity to the fullest in the slice allocated to it. But the flip side is | ||
118 | that even a random reader should get better latencies and overall throughput | ||
119 | if there are lots of sequential readers/sync-idle workload running in the | ||
120 | system. | ||
121 | |||
122 | If group_isolation=0, then CFQ automatically moves all the random seeky queues | ||
123 | in the root group. That means there will be no service differentiation for | ||
124 | that kind of workload. This leads to better throughput as we do collective | ||
125 | idling on root sync-noidle tree. | ||
126 | |||
127 | By default one should run with group_isolation=0. If that is not sufficient | ||
128 | and one wants stronger isolation between groups, then set group_isolation=1 | ||
129 | but this will come at cost of reduced throughput. | ||
130 | |||
131 | What works | ||
132 | ========== | ||
133 | - Currently only sync IO queues are support. All the buffered writes are | ||
134 | still system wide and not per group. Hence we will not see service | ||
135 | differentiation between buffered writes between groups. | ||
diff --git a/Documentation/dvb/README.dvb-usb b/Documentation/dvb/README.dvb-usb index bf2a9cdfe7bb..c8238e44ed6b 100644 --- a/Documentation/dvb/README.dvb-usb +++ b/Documentation/dvb/README.dvb-usb | |||
@@ -85,7 +85,7 @@ http://www.linuxtv.org/wiki/index.php/DVB_USB | |||
85 | - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems | 85 | - moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems |
86 | better settled there (added xfer_ops-struct) | 86 | better settled there (added xfer_ops-struct) |
87 | - created a common files for frontends (mc/p/mb) | 87 | - created a common files for frontends (mc/p/mb) |
88 | 2004-09-28 - added support for a new device (Unkown, vendor ID is Hyper-Paltek) | 88 | 2004-09-28 - added support for a new device (Unknown, vendor ID is Hyper-Paltek) |
89 | 2004-09-20 - added support for a new device (Compro DVB-U2000), thanks | 89 | 2004-09-20 - added support for a new device (Compro DVB-U2000), thanks |
90 | to Amaury Demol for reporting | 90 | to Amaury Demol for reporting |
91 | - changed usb TS transfer method (several urbs, stopping transfer | 91 | - changed usb TS transfer method (several urbs, stopping transfer |
diff --git a/Documentation/edac.txt b/Documentation/edac.txt index 06f8f46692dc..79c533223762 100644 --- a/Documentation/edac.txt +++ b/Documentation/edac.txt | |||
@@ -80,7 +80,7 @@ is: | |||
80 | 80 | ||
81 | broken_parity_status | 81 | broken_parity_status |
82 | 82 | ||
83 | as is located in /sys/devices/pci<XXX>/0000:XX:YY.Z directorys for | 83 | as is located in /sys/devices/pci<XXX>/0000:XX:YY.Z directories for |
84 | PCI devices. | 84 | PCI devices. |
85 | 85 | ||
86 | FUTURE HARDWARE SCANNING | 86 | FUTURE HARDWARE SCANNING |
@@ -288,9 +288,8 @@ Total UE count that had no information attribute fileY: | |||
288 | 288 | ||
289 | 'ue_noinfo_count' | 289 | 'ue_noinfo_count' |
290 | 290 | ||
291 | This attribute file displays the number of UEs that | 291 | This attribute file displays the number of UEs that have occurred |
292 | have occurred have occurred with no informations as to which DIMM | 292 | with no information as to which DIMM slot is having errors. |
293 | slot is having errors. | ||
294 | 293 | ||
295 | 294 | ||
296 | Total Correctable Errors count attribute file: | 295 | Total Correctable Errors count attribute file: |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index bc693fffabe0..591e94448e63 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -6,6 +6,21 @@ be removed from this file. | |||
6 | 6 | ||
7 | --------------------------- | 7 | --------------------------- |
8 | 8 | ||
9 | What: USER_SCHED | ||
10 | When: 2.6.34 | ||
11 | |||
12 | Why: USER_SCHED was implemented as a proof of concept for group scheduling. | ||
13 | The effect of USER_SCHED can already be achieved from userspace with | ||
14 | the help of libcgroup. The removal of USER_SCHED will also simplify | ||
15 | the scheduler code with the removal of one major ifdef. There are also | ||
16 | issues USER_SCHED has with USER_NS. A decision was taken not to fix | ||
17 | those and instead remove USER_SCHED. Also new group scheduling | ||
18 | features will not be implemented for USER_SCHED. | ||
19 | |||
20 | Who: Dhaval Giani <dhaval@linux.vnet.ibm.com> | ||
21 | |||
22 | --------------------------- | ||
23 | |||
9 | What: PRISM54 | 24 | What: PRISM54 |
10 | When: 2.6.34 | 25 | When: 2.6.34 |
11 | 26 | ||
@@ -302,18 +317,6 @@ Who: ocfs2-devel@oss.oracle.com | |||
302 | 317 | ||
303 | --------------------------- | 318 | --------------------------- |
304 | 319 | ||
305 | What: SCTP_GET_PEER_ADDRS_NUM_OLD, SCTP_GET_PEER_ADDRS_OLD, | ||
306 | SCTP_GET_LOCAL_ADDRS_NUM_OLD, SCTP_GET_LOCAL_ADDRS_OLD | ||
307 | When: June 2009 | ||
308 | Why: A newer version of the options have been introduced in 2005 that | ||
309 | removes the limitions of the old API. The sctp library has been | ||
310 | converted to use these new options at the same time. Any user | ||
311 | space app that directly uses the old options should convert to using | ||
312 | the new options. | ||
313 | Who: Vlad Yasevich <vladislav.yasevich@hp.com> | ||
314 | |||
315 | --------------------------- | ||
316 | |||
317 | What: Ability for non root users to shm_get hugetlb pages based on mlock | 320 | What: Ability for non root users to shm_get hugetlb pages based on mlock |
318 | resource limits | 321 | resource limits |
319 | When: 2.6.31 | 322 | When: 2.6.31 |
@@ -404,15 +407,6 @@ Who: Alex Chiang <achiang@hp.com> | |||
404 | 407 | ||
405 | --------------------------- | 408 | --------------------------- |
406 | 409 | ||
407 | What: i2c-voodoo3 driver | ||
408 | When: October 2009 | ||
409 | Why: Superseded by tdfxfb. I2C/DDC support used to live in a separate | ||
410 | driver but this caused driver conflicts. | ||
411 | Who: Jean Delvare <khali@linux-fr.org> | ||
412 | Krzysztof Helt <krzysztof.h1@wp.pl> | ||
413 | |||
414 | --------------------------- | ||
415 | |||
416 | What: CONFIG_RFKILL_INPUT | 410 | What: CONFIG_RFKILL_INPUT |
417 | When: 2.6.33 | 411 | When: 2.6.33 |
418 | Why: Should be implemented in userspace, policy daemon. | 412 | Why: Should be implemented in userspace, policy daemon. |
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 2c48f945546b..94b9f2056f4c 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -1072,7 +1072,8 @@ second). The meanings of the columns are as follows, from left to right: | |||
1072 | - irq: servicing interrupts | 1072 | - irq: servicing interrupts |
1073 | - softirq: servicing softirqs | 1073 | - softirq: servicing softirqs |
1074 | - steal: involuntary wait | 1074 | - steal: involuntary wait |
1075 | - guest: running a guest | 1075 | - guest: running a normal guest |
1076 | - guest_nice: running a niced guest | ||
1076 | 1077 | ||
1077 | The "intr" line gives counts of interrupts serviced since boot time, for each | 1078 | The "intr" line gives counts of interrupts serviced since boot time, for each |
1078 | of the possible system interrupts. The first column is the total of all | 1079 | of the possible system interrupts. The first column is the total of all |
@@ -1088,8 +1089,8 @@ The "processes" line gives the number of processes and threads created, which | |||
1088 | includes (but is not limited to) those created by calls to the fork() and | 1089 | includes (but is not limited to) those created by calls to the fork() and |
1089 | clone() system calls. | 1090 | clone() system calls. |
1090 | 1091 | ||
1091 | The "procs_running" line gives the number of processes currently running on | 1092 | The "procs_running" line gives the total number of threads that are |
1092 | CPUs. | 1093 | running or ready to run (i.e., the total number of runnable threads). |
1093 | 1094 | ||
1094 | The "procs_blocked" line gives the number of processes currently blocked, | 1095 | The "procs_blocked" line gives the number of processes currently blocked, |
1095 | waiting for I/O to complete. | 1096 | waiting for I/O to complete. |
diff --git a/Documentation/gpio.txt b/Documentation/gpio.txt index fa4dc077ae0e..e4e7daed2ba8 100644 --- a/Documentation/gpio.txt +++ b/Documentation/gpio.txt | |||
@@ -380,7 +380,7 @@ rare; use gpiochip_remove() when it is unavoidable. | |||
380 | 380 | ||
381 | Most often a gpio_chip is part of an instance-specific structure with state | 381 | Most often a gpio_chip is part of an instance-specific structure with state |
382 | not exposed by the GPIO interfaces, such as addressing, power management, | 382 | not exposed by the GPIO interfaces, such as addressing, power management, |
383 | and more. Chips such as codecs will have complex non-GPIO state, | 383 | and more. Chips such as codecs will have complex non-GPIO state. |
384 | 384 | ||
385 | Any debugfs dump method should normally ignore signals which haven't been | 385 | Any debugfs dump method should normally ignore signals which haven't been |
386 | requested as GPIOs. They can use gpiochip_is_requested(), which returns | 386 | requested as GPIOs. They can use gpiochip_is_requested(), which returns |
@@ -531,7 +531,7 @@ and have the following read/write attributes: | |||
531 | This file exists only if the pin can be configured as an | 531 | This file exists only if the pin can be configured as an |
532 | interrupt generating input pin. | 532 | interrupt generating input pin. |
533 | 533 | ||
534 | GPIO controllers have paths like /sys/class/gpio/chipchip42/ (for the | 534 | GPIO controllers have paths like /sys/class/gpio/gpiochip42/ (for the |
535 | controller implementing GPIOs starting at #42) and have the following | 535 | controller implementing GPIOs starting at #42) and have the following |
536 | read-only attributes: | 536 | read-only attributes: |
537 | 537 | ||
diff --git a/Documentation/i2c/busses/i2c-voodoo3 b/Documentation/i2c/busses/i2c-voodoo3 deleted file mode 100644 index 62d90a454d39..000000000000 --- a/Documentation/i2c/busses/i2c-voodoo3 +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | Kernel driver i2c-voodoo3 | ||
2 | |||
3 | Supported adapters: | ||
4 | * 3dfx Voodoo3 based cards | ||
5 | * Voodoo Banshee based cards | ||
6 | |||
7 | Authors: | ||
8 | Frodo Looijaard <frodol@dds.nl>, | ||
9 | Philip Edelbrock <phil@netroedge.com>, | ||
10 | Ralph Metzler <rjkm@thp.uni-koeln.de>, | ||
11 | Mark D. Studebaker <mdsxyz123@yahoo.com> | ||
12 | |||
13 | Main contact: Philip Edelbrock <phil@netroedge.com> | ||
14 | |||
15 | The code is based upon Ralph's test code (he did the hard stuff ;') | ||
16 | |||
17 | Description | ||
18 | ----------- | ||
19 | |||
20 | The 3dfx Voodoo3 chip contains two I2C interfaces (aka a I2C 'master' or | ||
21 | 'host'). | ||
22 | |||
23 | The first interface is used for DDC (Data Display Channel) which is a | ||
24 | serial channel through the VGA monitor connector to a DDC-compliant | ||
25 | monitor. This interface is defined by the Video Electronics Standards | ||
26 | Association (VESA). The standards are available for purchase at | ||
27 | http://www.vesa.org . | ||
28 | |||
29 | The second interface is a general-purpose I2C bus. The intent by 3dfx was | ||
30 | to allow manufacturers to add extra chips to the video card such as a | ||
31 | TV-out chip such as the BT869 or possibly even I2C based temperature | ||
32 | sensors like the ADM1021 or LM75. | ||
33 | |||
34 | Stability | ||
35 | --------- | ||
36 | |||
37 | Seems to be stable on the test machine, but needs more testing on other | ||
38 | machines. Simultaneous accesses of the DDC and I2C busses may cause errors. | ||
39 | |||
40 | Supported Devices | ||
41 | ----------------- | ||
42 | |||
43 | Specifically, this driver was written and tested on the '3dfx Voodoo3 AGP | ||
44 | 3000' which has a tv-out feature (s-video or composite). According to the | ||
45 | docs and discussions, this code should work for any Voodoo3 based cards as | ||
46 | well as Voodoo Banshee based cards. The DDC interface has been tested on a | ||
47 | Voodoo Banshee card. | ||
48 | |||
49 | Issues | ||
50 | ------ | ||
51 | |||
52 | Probably many, but it seems to work OK on my system. :') | ||
53 | |||
54 | |||
55 | External Device Connection | ||
56 | -------------------------- | ||
57 | |||
58 | The digital video input jumpers give availability to the I2C bus. | ||
59 | Specifically, pins 13 and 25 (bottom row middle, and bottom right-end) are | ||
60 | the I2C clock and I2C data lines, respectively. +5V and GND are probably | ||
61 | also easily available making the addition of extra I2C/SMBus devices easy | ||
62 | to implement. | ||
diff --git a/Documentation/i2c/i2c-stub b/Documentation/i2c/i2c-stub index 0d8be1c20c16..fa4b669c166b 100644 --- a/Documentation/i2c/i2c-stub +++ b/Documentation/i2c/i2c-stub | |||
@@ -2,9 +2,9 @@ MODULE: i2c-stub | |||
2 | 2 | ||
3 | DESCRIPTION: | 3 | DESCRIPTION: |
4 | 4 | ||
5 | This module is a very simple fake I2C/SMBus driver. It implements four | 5 | This module is a very simple fake I2C/SMBus driver. It implements five |
6 | types of SMBus commands: write quick, (r/w) byte, (r/w) byte data, and | 6 | types of SMBus commands: write quick, (r/w) byte, (r/w) byte data, (r/w) |
7 | (r/w) word data. | 7 | word data, and (r/w) I2C block data. |
8 | 8 | ||
9 | You need to provide chip addresses as a module parameter when loading this | 9 | You need to provide chip addresses as a module parameter when loading this |
10 | driver, which will then only react to SMBus commands to these addresses. | 10 | driver, which will then only react to SMBus commands to these addresses. |
@@ -21,8 +21,8 @@ EEPROMs, among others. | |||
21 | 21 | ||
22 | The typical use-case is like this: | 22 | The typical use-case is like this: |
23 | 1. load this module | 23 | 1. load this module |
24 | 2. use i2cset (from lm_sensors project) to pre-load some data | 24 | 2. use i2cset (from the i2c-tools project) to pre-load some data |
25 | 3. load the target sensors chip driver module | 25 | 3. load the target chip driver module |
26 | 4. observe its behavior in the kernel log | 26 | 4. observe its behavior in the kernel log |
27 | 27 | ||
28 | There's a script named i2c-stub-from-dump in the i2c-tools package which | 28 | There's a script named i2c-stub-from-dump in the i2c-tools package which |
@@ -33,6 +33,12 @@ PARAMETERS: | |||
33 | int chip_addr[10]: | 33 | int chip_addr[10]: |
34 | The SMBus addresses to emulate chips at. | 34 | The SMBus addresses to emulate chips at. |
35 | 35 | ||
36 | unsigned long functionality: | ||
37 | Functionality override, to disable some commands. See I2C_FUNC_* | ||
38 | constants in <linux/i2c.h> for the suitable values. For example, | ||
39 | value 0x1f0000 would only enable the quick, byte and byte data | ||
40 | commands. | ||
41 | |||
36 | CAVEATS: | 42 | CAVEATS: |
37 | 43 | ||
38 | If your target driver polls some byte or word waiting for it to change, the | 44 | If your target driver polls some byte or word waiting for it to change, the |
diff --git a/Documentation/i2c/old-module-parameters b/Documentation/i2c/old-module-parameters new file mode 100644 index 000000000000..8e2b629d533c --- /dev/null +++ b/Documentation/i2c/old-module-parameters | |||
@@ -0,0 +1,44 @@ | |||
1 | I2C device driver binding control from user-space | ||
2 | ================================================= | ||
3 | |||
4 | Up to kernel 2.6.32, many i2c drivers used helper macros provided by | ||
5 | <linux/i2c.h> which created standard module parameters to let the user | ||
6 | control how the driver would probe i2c buses and attach to devices. These | ||
7 | parameters were known as "probe" (to let the driver probe for an extra | ||
8 | address), "force" (to forcibly attach the driver to a given device) and | ||
9 | "ignore" (to prevent a driver from probing a given address). | ||
10 | |||
11 | With the conversion of the i2c subsystem to the standard device driver | ||
12 | binding model, it became clear that these per-module parameters were no | ||
13 | longer needed, and that a centralized implementation was possible. The new, | ||
14 | sysfs-based interface is described in the documentation file | ||
15 | "instantiating-devices", section "Method 4: Instantiate from user-space". | ||
16 | |||
17 | Below is a mapping from the old module parameters to the new interface. | ||
18 | |||
19 | Attaching a driver to an I2C device | ||
20 | ----------------------------------- | ||
21 | |||
22 | Old method (module parameters): | ||
23 | # modprobe <driver> probe=1,0x2d | ||
24 | # modprobe <driver> force=1,0x2d | ||
25 | # modprobe <driver> force_<device>=1,0x2d | ||
26 | |||
27 | New method (sysfs interface): | ||
28 | # echo <device> 0x2d > /sys/bus/i2c/devices/i2c-1/new_device | ||
29 | |||
30 | Preventing a driver from attaching to an I2C device | ||
31 | --------------------------------------------------- | ||
32 | |||
33 | Old method (module parameters): | ||
34 | # modprobe <driver> ignore=1,0x2f | ||
35 | |||
36 | New method (sysfs interface): | ||
37 | # echo dummy 0x2f > /sys/bus/i2c/devices/i2c-1/new_device | ||
38 | # modprobe <driver> | ||
39 | |||
40 | Of course, it is important to instantiate the "dummy" device before loading | ||
41 | the driver. The dummy device will be handled by i2c-core itself, preventing | ||
42 | other drivers from binding to it later on. If there is a real device at the | ||
43 | problematic address, and you want another driver to bind to it, then simply | ||
44 | pass the name of the device in question instead of "dummy". | ||
diff --git a/Documentation/isdn/README.gigaset b/Documentation/isdn/README.gigaset index f9963103ae3d..0fc9831d7ecb 100644 --- a/Documentation/isdn/README.gigaset +++ b/Documentation/isdn/README.gigaset | |||
@@ -5,7 +5,7 @@ GigaSet 307x Device Driver | |||
5 | ------------ | 5 | ------------ |
6 | 1.1. Hardware | 6 | 1.1. Hardware |
7 | -------- | 7 | -------- |
8 | This release supports the connection of the Gigaset 307x/417x family of | 8 | This driver supports the connection of the Gigaset 307x/417x family of |
9 | ISDN DECT bases via Gigaset M101 Data, Gigaset M105 Data or direct USB | 9 | ISDN DECT bases via Gigaset M101 Data, Gigaset M105 Data or direct USB |
10 | connection. The following devices are reported to be compatible: | 10 | connection. The following devices are reported to be compatible: |
11 | 11 | ||
@@ -33,7 +33,7 @@ GigaSet 307x Device Driver | |||
33 | http://gigaset307x.sourceforge.net/ | 33 | http://gigaset307x.sourceforge.net/ |
34 | 34 | ||
35 | We had also reports from users of Gigaset M105 who could use the drivers | 35 | We had also reports from users of Gigaset M105 who could use the drivers |
36 | with SX 100 and CX 100 ISDN bases (only in unimodem mode, see section 2.4.) | 36 | with SX 100 and CX 100 ISDN bases (only in unimodem mode, see section 2.5.) |
37 | If you have another device that works with our driver, please let us know. | 37 | If you have another device that works with our driver, please let us know. |
38 | 38 | ||
39 | Chances of getting an USB device to work are good if the output of | 39 | Chances of getting an USB device to work are good if the output of |
@@ -49,7 +49,7 @@ GigaSet 307x Device Driver | |||
49 | -------- | 49 | -------- |
50 | The driver works with ISDN4linux and so can be used with any software | 50 | The driver works with ISDN4linux and so can be used with any software |
51 | which is able to use ISDN4linux for ISDN connections (voice or data). | 51 | which is able to use ISDN4linux for ISDN connections (voice or data). |
52 | CAPI4Linux support is planned but not yet available. | 52 | Experimental Kernel CAPI support is available as a compilation option. |
53 | 53 | ||
54 | There are some user space tools available at | 54 | There are some user space tools available at |
55 | http://sourceforge.net/projects/gigaset307x/ | 55 | http://sourceforge.net/projects/gigaset307x/ |
@@ -102,20 +102,28 @@ GigaSet 307x Device Driver | |||
102 | 2.3. ISDN4linux | 102 | 2.3. ISDN4linux |
103 | ---------- | 103 | ---------- |
104 | This is the "normal" mode of operation. After loading the module you can | 104 | This is the "normal" mode of operation. After loading the module you can |
105 | set up the ISDN system just as you'd do with any ISDN card. | 105 | set up the ISDN system just as you'd do with any ISDN card supported by |
106 | Your distribution should provide some configuration utility. | 106 | the ISDN4Linux subsystem. Most distributions provide some configuration |
107 | If not, you can use some HOWTOs like | 107 | utility. If not, you can use some HOWTOs like |
108 | http://www.linuxhaven.de/dlhp/HOWTO/DE-ISDN-HOWTO-5.html | 108 | http://www.linuxhaven.de/dlhp/HOWTO/DE-ISDN-HOWTO-5.html |
109 | If this doesn't work, because you have some recent device like SX100 where | 109 | If this doesn't work, because you have some device like SX100 where |
110 | debug output (see section 3.2.) shows something like this when dialing | 110 | debug output (see section 3.2.) shows something like this when dialing |
111 | CMD Received: ERROR | 111 | CMD Received: ERROR |
112 | Available Params: 0 | 112 | Available Params: 0 |
113 | Connection State: 0, Response: -1 | 113 | Connection State: 0, Response: -1 |
114 | gigaset_process_response: resp_code -1 in ConState 0 ! | 114 | gigaset_process_response: resp_code -1 in ConState 0 ! |
115 | Timeout occurred | 115 | Timeout occurred |
116 | you might need to use unimodem mode: | 116 | you might need to use unimodem mode. (see section 2.5.) |
117 | 117 | ||
118 | 2.4. Unimodem mode | 118 | 2.4. CAPI |
119 | ---- | ||
120 | If the driver is compiled with CAPI support (kernel configuration option | ||
121 | GIGASET_CAPI, experimental) it can also be used with CAPI 2.0 kernel and | ||
122 | user space applications. ISDN4Linux is supported in this configuration | ||
123 | via the capidrv compatibility driver. The kernel module capidrv.ko must | ||
124 | be loaded explicitly ("modprobe capidrv") if needed. | ||
125 | |||
126 | 2.5. Unimodem mode | ||
119 | ------------- | 127 | ------------- |
120 | This is needed for some devices [e.g. SX100] as they have problems with | 128 | This is needed for some devices [e.g. SX100] as they have problems with |
121 | the "normal" commands. | 129 | the "normal" commands. |
@@ -160,7 +168,7 @@ GigaSet 307x Device Driver | |||
160 | configuration file like /etc/modprobe.conf.local, | 168 | configuration file like /etc/modprobe.conf.local, |
161 | using that should be preferred. | 169 | using that should be preferred. |
162 | 170 | ||
163 | 2.5. Call-ID (CID) mode | 171 | 2.6. Call-ID (CID) mode |
164 | ------------------ | 172 | ------------------ |
165 | Call-IDs are numbers used to tag commands to, and responses from, the | 173 | Call-IDs are numbers used to tag commands to, and responses from, the |
166 | Gigaset base in order to support the simultaneous handling of multiple | 174 | Gigaset base in order to support the simultaneous handling of multiple |
@@ -188,7 +196,7 @@ GigaSet 307x Device Driver | |||
188 | You can also use /sys/class/tty/ttyGxy/cidmode for changing the CID mode | 196 | You can also use /sys/class/tty/ttyGxy/cidmode for changing the CID mode |
189 | setting (ttyGxy is ttyGU0 or ttyGB0). | 197 | setting (ttyGxy is ttyGU0 or ttyGB0). |
190 | 198 | ||
191 | 2.6. Unregistered Wireless Devices (M101/M105) | 199 | 2.7. Unregistered Wireless Devices (M101/M105) |
192 | ----------------------------------------- | 200 | ----------------------------------------- |
193 | The main purpose of the ser_gigaset and usb_gigaset drivers is to allow | 201 | The main purpose of the ser_gigaset and usb_gigaset drivers is to allow |
194 | the M101 and M105 wireless devices to be used as ISDN devices for ISDN | 202 | the M101 and M105 wireless devices to be used as ISDN devices for ISDN |
@@ -228,7 +236,7 @@ GigaSet 307x Device Driver | |||
228 | You have two or more DECT data adapters (M101/M105) and only the | 236 | You have two or more DECT data adapters (M101/M105) and only the |
229 | first one you turn on works. | 237 | first one you turn on works. |
230 | Solution: | 238 | Solution: |
231 | Select Unimodem mode for all DECT data adapters. (see section 2.4.) | 239 | Select Unimodem mode for all DECT data adapters. (see section 2.5.) |
232 | 240 | ||
233 | Problem: | 241 | Problem: |
234 | Messages like this: | 242 | Messages like this: |
@@ -236,7 +244,7 @@ GigaSet 307x Device Driver | |||
236 | appear in your syslog. | 244 | appear in your syslog. |
237 | Solution: | 245 | Solution: |
238 | Check whether your M10x wireless device is correctly registered to the | 246 | Check whether your M10x wireless device is correctly registered to the |
239 | Gigaset base. (see section 2.6.) | 247 | Gigaset base. (see section 2.7.) |
240 | 248 | ||
241 | 3.2. Telling the driver to provide more information | 249 | 3.2. Telling the driver to provide more information |
242 | ---------------------------------------------- | 250 | ---------------------------------------------- |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 51138b3dc8cc..777dc8a32df8 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -344,6 +344,15 @@ and is between 256 and 4096 characters. It is defined in the file | |||
344 | Change the amount of debugging information output | 344 | Change the amount of debugging information output |
345 | when initialising the APIC and IO-APIC components. | 345 | when initialising the APIC and IO-APIC components. |
346 | 346 | ||
347 | show_lapic= [APIC,X86] Advanced Programmable Interrupt Controller | ||
348 | Limit apic dumping. The parameter defines the maximal | ||
349 | number of local apics being dumped. Also it is possible | ||
350 | to set it to "all" by meaning -- no limit here. | ||
351 | Format: { 1 (default) | 2 | ... | all }. | ||
352 | The parameter valid if only apic=debug or | ||
353 | apic=verbose is specified. | ||
354 | Example: apic=debug show_lapic=all | ||
355 | |||
347 | apm= [APM] Advanced Power Management | 356 | apm= [APM] Advanced Power Management |
348 | See header of arch/x86/kernel/apm_32.c. | 357 | See header of arch/x86/kernel/apm_32.c. |
349 | 358 | ||
@@ -2186,6 +2195,8 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2186 | 2195 | ||
2187 | sbni= [NET] Granch SBNI12 leased line adapter | 2196 | sbni= [NET] Granch SBNI12 leased line adapter |
2188 | 2197 | ||
2198 | sched_debug [KNL] Enables verbose scheduler debug messages. | ||
2199 | |||
2189 | sc1200wdt= [HW,WDT] SC1200 WDT (watchdog) driver | 2200 | sc1200wdt= [HW,WDT] SC1200 WDT (watchdog) driver |
2190 | Format: <io>[,<timeout>[,<isapnp>]] | 2201 | Format: <io>[,<timeout>[,<isapnp>]] |
2191 | 2202 | ||
@@ -2594,6 +2605,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2594 | uart6850= [HW,OSS] | 2605 | uart6850= [HW,OSS] |
2595 | Format: <io>,<irq> | 2606 | Format: <io>,<irq> |
2596 | 2607 | ||
2608 | uhash_entries= [KNL,NET] | ||
2609 | Set number of hash buckets for UDP/UDP-Lite connections | ||
2610 | |||
2597 | uhci-hcd.ignore_oc= | 2611 | uhci-hcd.ignore_oc= |
2598 | [USB] Ignore overcurrent events (default N). | 2612 | [USB] Ignore overcurrent events (default N). |
2599 | Some badly-designed motherboards generate lots of | 2613 | Some badly-designed motherboards generate lots of |
@@ -2733,6 +2747,15 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2733 | Default is 1, i.e. UTF-8 mode is enabled for all | 2747 | Default is 1, i.e. UTF-8 mode is enabled for all |
2734 | newly opened terminals. | 2748 | newly opened terminals. |
2735 | 2749 | ||
2750 | vt.global_cursor_default= | ||
2751 | [VT] | ||
2752 | Format=<-1|0|1> | ||
2753 | Set system-wide default for whether a cursor | ||
2754 | is shown on new VTs. Default is -1, | ||
2755 | i.e. cursors will be created by default unless | ||
2756 | overridden by individual drivers. 0 will hide | ||
2757 | cursors, 1 will display them. | ||
2758 | |||
2736 | waveartist= [HW,OSS] | 2759 | waveartist= [HW,OSS] |
2737 | Format: <io>,<irq>,<dma>,<dma2> | 2760 | Format: <io>,<irq>,<dma>,<dma2> |
2738 | 2761 | ||
diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt index 5a4bc8cf6d04..e1a114161027 100644 --- a/Documentation/kvm/api.txt +++ b/Documentation/kvm/api.txt | |||
@@ -593,6 +593,115 @@ struct kvm_irqchip { | |||
593 | } chip; | 593 | } chip; |
594 | }; | 594 | }; |
595 | 595 | ||
596 | 4.27 KVM_XEN_HVM_CONFIG | ||
597 | |||
598 | Capability: KVM_CAP_XEN_HVM | ||
599 | Architectures: x86 | ||
600 | Type: vm ioctl | ||
601 | Parameters: struct kvm_xen_hvm_config (in) | ||
602 | Returns: 0 on success, -1 on error | ||
603 | |||
604 | Sets the MSR that the Xen HVM guest uses to initialize its hypercall | ||
605 | page, and provides the starting address and size of the hypercall | ||
606 | blobs in userspace. When the guest writes the MSR, kvm copies one | ||
607 | page of a blob (32- or 64-bit, depending on the vcpu mode) to guest | ||
608 | memory. | ||
609 | |||
610 | struct kvm_xen_hvm_config { | ||
611 | __u32 flags; | ||
612 | __u32 msr; | ||
613 | __u64 blob_addr_32; | ||
614 | __u64 blob_addr_64; | ||
615 | __u8 blob_size_32; | ||
616 | __u8 blob_size_64; | ||
617 | __u8 pad2[30]; | ||
618 | }; | ||
619 | |||
620 | 4.27 KVM_GET_CLOCK | ||
621 | |||
622 | Capability: KVM_CAP_ADJUST_CLOCK | ||
623 | Architectures: x86 | ||
624 | Type: vm ioctl | ||
625 | Parameters: struct kvm_clock_data (out) | ||
626 | Returns: 0 on success, -1 on error | ||
627 | |||
628 | Gets the current timestamp of kvmclock as seen by the current guest. In | ||
629 | conjunction with KVM_SET_CLOCK, it is used to ensure monotonicity on scenarios | ||
630 | such as migration. | ||
631 | |||
632 | struct kvm_clock_data { | ||
633 | __u64 clock; /* kvmclock current value */ | ||
634 | __u32 flags; | ||
635 | __u32 pad[9]; | ||
636 | }; | ||
637 | |||
638 | 4.28 KVM_SET_CLOCK | ||
639 | |||
640 | Capability: KVM_CAP_ADJUST_CLOCK | ||
641 | Architectures: x86 | ||
642 | Type: vm ioctl | ||
643 | Parameters: struct kvm_clock_data (in) | ||
644 | Returns: 0 on success, -1 on error | ||
645 | |||
646 | Sets the current timestamp of kvmclock to the valued specific in its parameter. | ||
647 | In conjunction with KVM_GET_CLOCK, it is used to ensure monotonicity on scenarios | ||
648 | such as migration. | ||
649 | |||
650 | struct kvm_clock_data { | ||
651 | __u64 clock; /* kvmclock current value */ | ||
652 | __u32 flags; | ||
653 | __u32 pad[9]; | ||
654 | }; | ||
655 | |||
656 | 4.29 KVM_GET_VCPU_EVENTS | ||
657 | |||
658 | Capability: KVM_CAP_VCPU_EVENTS | ||
659 | Architectures: x86 | ||
660 | Type: vm ioctl | ||
661 | Parameters: struct kvm_vcpu_event (out) | ||
662 | Returns: 0 on success, -1 on error | ||
663 | |||
664 | Gets currently pending exceptions, interrupts, and NMIs as well as related | ||
665 | states of the vcpu. | ||
666 | |||
667 | struct kvm_vcpu_events { | ||
668 | struct { | ||
669 | __u8 injected; | ||
670 | __u8 nr; | ||
671 | __u8 has_error_code; | ||
672 | __u8 pad; | ||
673 | __u32 error_code; | ||
674 | } exception; | ||
675 | struct { | ||
676 | __u8 injected; | ||
677 | __u8 nr; | ||
678 | __u8 soft; | ||
679 | __u8 pad; | ||
680 | } interrupt; | ||
681 | struct { | ||
682 | __u8 injected; | ||
683 | __u8 pending; | ||
684 | __u8 masked; | ||
685 | __u8 pad; | ||
686 | } nmi; | ||
687 | __u32 sipi_vector; | ||
688 | __u32 flags; /* must be zero */ | ||
689 | }; | ||
690 | |||
691 | 4.30 KVM_SET_VCPU_EVENTS | ||
692 | |||
693 | Capability: KVM_CAP_VCPU_EVENTS | ||
694 | Architectures: x86 | ||
695 | Type: vm ioctl | ||
696 | Parameters: struct kvm_vcpu_event (in) | ||
697 | Returns: 0 on success, -1 on error | ||
698 | |||
699 | Set pending exceptions, interrupts, and NMIs as well as related states of the | ||
700 | vcpu. | ||
701 | |||
702 | See KVM_GET_VCPU_EVENTS for the data structure. | ||
703 | |||
704 | |||
596 | 5. The kvm_run structure | 705 | 5. The kvm_run structure |
597 | 706 | ||
598 | Application code obtains a pointer to the kvm_run structure by | 707 | Application code obtains a pointer to the kvm_run structure by |
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c index 098de5bce00a..42208511b5c0 100644 --- a/Documentation/lguest/lguest.c +++ b/Documentation/lguest/lguest.c | |||
@@ -304,7 +304,7 @@ static void *map_zeroed_pages(unsigned int num) | |||
304 | addr = mmap(NULL, getpagesize() * num, | 304 | addr = mmap(NULL, getpagesize() * num, |
305 | PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, fd, 0); | 305 | PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, fd, 0); |
306 | if (addr == MAP_FAILED) | 306 | if (addr == MAP_FAILED) |
307 | err(1, "Mmaping %u pages of /dev/zero", num); | 307 | err(1, "Mmapping %u pages of /dev/zero", num); |
308 | 308 | ||
309 | /* | 309 | /* |
310 | * One neat mmap feature is that you can close the fd, and it | 310 | * One neat mmap feature is that you can close the fd, and it |
diff --git a/Documentation/c2port.txt b/Documentation/misc-devices/c2port.txt index d9bf93ea4398..d9bf93ea4398 100644 --- a/Documentation/c2port.txt +++ b/Documentation/misc-devices/c2port.txt | |||
diff --git a/Documentation/ics932s401 b/Documentation/misc-devices/ics932s401 index 07a739f406d8..07a739f406d8 100644 --- a/Documentation/ics932s401 +++ b/Documentation/misc-devices/ics932s401 | |||
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt index d5181ce9ff62..61f516b135b4 100644 --- a/Documentation/networking/bonding.txt +++ b/Documentation/networking/bonding.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | 1 | ||
2 | Linux Ethernet Bonding Driver HOWTO | 2 | Linux Ethernet Bonding Driver HOWTO |
3 | 3 | ||
4 | Latest update: 12 November 2007 | 4 | Latest update: 23 September 2009 |
5 | 5 | ||
6 | Initial release : Thomas Davis <tadavis at lbl.gov> | 6 | Initial release : Thomas Davis <tadavis at lbl.gov> |
7 | Corrections, HA extensions : 2000/10/03-15 : | 7 | Corrections, HA extensions : 2000/10/03-15 : |
@@ -614,6 +614,46 @@ primary | |||
614 | 614 | ||
615 | The primary option is only valid for active-backup mode. | 615 | The primary option is only valid for active-backup mode. |
616 | 616 | ||
617 | primary_reselect | ||
618 | |||
619 | Specifies the reselection policy for the primary slave. This | ||
620 | affects how the primary slave is chosen to become the active slave | ||
621 | when failure of the active slave or recovery of the primary slave | ||
622 | occurs. This option is designed to prevent flip-flopping between | ||
623 | the primary slave and other slaves. Possible values are: | ||
624 | |||
625 | always or 0 (default) | ||
626 | |||
627 | The primary slave becomes the active slave whenever it | ||
628 | comes back up. | ||
629 | |||
630 | better or 1 | ||
631 | |||
632 | The primary slave becomes the active slave when it comes | ||
633 | back up, if the speed and duplex of the primary slave is | ||
634 | better than the speed and duplex of the current active | ||
635 | slave. | ||
636 | |||
637 | failure or 2 | ||
638 | |||
639 | The primary slave becomes the active slave only if the | ||
640 | current active slave fails and the primary slave is up. | ||
641 | |||
642 | The primary_reselect setting is ignored in two cases: | ||
643 | |||
644 | If no slaves are active, the first slave to recover is | ||
645 | made the active slave. | ||
646 | |||
647 | When initially enslaved, the primary slave is always made | ||
648 | the active slave. | ||
649 | |||
650 | Changing the primary_reselect policy via sysfs will cause an | ||
651 | immediate selection of the best active slave according to the new | ||
652 | policy. This may or may not result in a change of the active | ||
653 | slave, depending upon the circumstances. | ||
654 | |||
655 | This option was added for bonding version 3.6.0. | ||
656 | |||
617 | updelay | 657 | updelay |
618 | 658 | ||
619 | Specifies the time, in milliseconds, to wait before enabling a | 659 | Specifies the time, in milliseconds, to wait before enabling a |
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index fbe427a6580c..006b39dec87d 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
@@ -164,6 +164,14 @@ tcp_congestion_control - STRING | |||
164 | additional choices may be available based on kernel configuration. | 164 | additional choices may be available based on kernel configuration. |
165 | Default is set as part of kernel configuration. | 165 | Default is set as part of kernel configuration. |
166 | 166 | ||
167 | tcp_cookie_size - INTEGER | ||
168 | Default size of TCP Cookie Transactions (TCPCT) option, that may be | ||
169 | overridden on a per socket basis by the TCPCT socket option. | ||
170 | Values greater than the maximum (16) are interpreted as the maximum. | ||
171 | Values greater than zero and less than the minimum (8) are interpreted | ||
172 | as the minimum. Odd values are interpreted as the next even value. | ||
173 | Default: 0 (off). | ||
174 | |||
167 | tcp_dsack - BOOLEAN | 175 | tcp_dsack - BOOLEAN |
168 | Allows TCP to send "duplicate" SACKs. | 176 | Allows TCP to send "duplicate" SACKs. |
169 | 177 | ||
@@ -723,6 +731,12 @@ accept_source_route - BOOLEAN | |||
723 | default TRUE (router) | 731 | default TRUE (router) |
724 | FALSE (host) | 732 | FALSE (host) |
725 | 733 | ||
734 | accept_local - BOOLEAN | ||
735 | Accept packets with local source addresses. In combination with | ||
736 | suitable routing, this can be used to direct packets between two | ||
737 | local interfaces over the wire and have them accepted properly. | ||
738 | default FALSE | ||
739 | |||
726 | rp_filter - INTEGER | 740 | rp_filter - INTEGER |
727 | 0 - No source validation. | 741 | 0 - No source validation. |
728 | 1 - Strict mode as defined in RFC3704 Strict Reverse Path | 742 | 1 - Strict mode as defined in RFC3704 Strict Reverse Path |
@@ -738,8 +752,8 @@ rp_filter - INTEGER | |||
738 | to prevent IP spoofing from DDos attacks. If using asymmetric routing | 752 | to prevent IP spoofing from DDos attacks. If using asymmetric routing |
739 | or other complicated routing, then loose mode is recommended. | 753 | or other complicated routing, then loose mode is recommended. |
740 | 754 | ||
741 | conf/all/rp_filter must also be set to non-zero to do source validation | 755 | The max value from conf/{all,interface}/rp_filter is used |
742 | on the interface | 756 | when doing source validation on the {interface}. |
743 | 757 | ||
744 | Default value is 0. Note that some distributions enable it | 758 | Default value is 0. Note that some distributions enable it |
745 | in startup scripts. | 759 | in startup scripts. |
@@ -1086,6 +1100,24 @@ accept_dad - INTEGER | |||
1086 | 2: Enable DAD, and disable IPv6 operation if MAC-based duplicate | 1100 | 2: Enable DAD, and disable IPv6 operation if MAC-based duplicate |
1087 | link-local address has been found. | 1101 | link-local address has been found. |
1088 | 1102 | ||
1103 | force_tllao - BOOLEAN | ||
1104 | Enable sending the target link-layer address option even when | ||
1105 | responding to a unicast neighbor solicitation. | ||
1106 | Default: FALSE | ||
1107 | |||
1108 | Quoting from RFC 2461, section 4.4, Target link-layer address: | ||
1109 | |||
1110 | "The option MUST be included for multicast solicitations in order to | ||
1111 | avoid infinite Neighbor Solicitation "recursion" when the peer node | ||
1112 | does not have a cache entry to return a Neighbor Advertisements | ||
1113 | message. When responding to unicast solicitations, the option can be | ||
1114 | omitted since the sender of the solicitation has the correct link- | ||
1115 | layer address; otherwise it would not have be able to send the unicast | ||
1116 | solicitation in the first place. However, including the link-layer | ||
1117 | address in this case adds little overhead and eliminates a potential | ||
1118 | race condition where the sender deletes the cached link-layer address | ||
1119 | prior to receiving a response to a previous solicitation." | ||
1120 | |||
1089 | icmp/*: | 1121 | icmp/*: |
1090 | ratelimit - INTEGER | 1122 | ratelimit - INTEGER |
1091 | Limit the maximal rates for sending ICMPv6 packets. | 1123 | Limit the maximal rates for sending ICMPv6 packets. |
diff --git a/Documentation/oops-tracing.txt b/Documentation/oops-tracing.txt index b152e81da592..c10c022b911c 100644 --- a/Documentation/oops-tracing.txt +++ b/Documentation/oops-tracing.txt | |||
@@ -257,6 +257,8 @@ characters, each representing a particular tainted value. | |||
257 | 257 | ||
258 | 10: 'W' if a warning has previously been issued by the kernel. | 258 | 10: 'W' if a warning has previously been issued by the kernel. |
259 | 259 | ||
260 | 11: 'C' if a staging driver has been loaded. | ||
261 | |||
260 | The primary reason for the 'Tainted: ' string is to tell kernel | 262 | The primary reason for the 'Tainted: ' string is to tell kernel |
261 | debuggers if this is a clean kernel or if anything unusual has | 263 | debuggers if this is a clean kernel or if anything unusual has |
262 | occurred. Tainting is permanent: even if an offending module is | 264 | occurred. Tainting is permanent: even if an offending module is |
diff --git a/Documentation/power/regulator/consumer.txt b/Documentation/power/regulator/consumer.txt index 5f83fd24ea84..cdebb5145c25 100644 --- a/Documentation/power/regulator/consumer.txt +++ b/Documentation/power/regulator/consumer.txt | |||
@@ -104,7 +104,7 @@ to set the limit to 500mA when supplying power. | |||
104 | 104 | ||
105 | Consumers can control their supply current limit by calling :- | 105 | Consumers can control their supply current limit by calling :- |
106 | 106 | ||
107 | int regulator_set_current_limit(regulator, min_uV, max_uV); | 107 | int regulator_set_current_limit(regulator, min_uA, max_uA); |
108 | 108 | ||
109 | Where min_uA and max_uA are the minimum and maximum acceptable current limit in | 109 | Where min_uA and max_uA are the minimum and maximum acceptable current limit in |
110 | microamps. | 110 | microamps. |
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index f49a33b704d2..4a3109b28847 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
@@ -38,7 +38,7 @@ struct dev_pm_ops { | |||
38 | ... | 38 | ... |
39 | int (*runtime_suspend)(struct device *dev); | 39 | int (*runtime_suspend)(struct device *dev); |
40 | int (*runtime_resume)(struct device *dev); | 40 | int (*runtime_resume)(struct device *dev); |
41 | void (*runtime_idle)(struct device *dev); | 41 | int (*runtime_idle)(struct device *dev); |
42 | ... | 42 | ... |
43 | }; | 43 | }; |
44 | 44 | ||
@@ -71,9 +71,9 @@ what to do to handle the device). | |||
71 | purpose). | 71 | purpose). |
72 | 72 | ||
73 | In particular, if the driver requires remote wakeup capability for proper | 73 | In particular, if the driver requires remote wakeup capability for proper |
74 | functioning and device_may_wakeup() returns 'false' for the device, then | 74 | functioning and device_run_wake() returns 'false' for the device, then |
75 | ->runtime_suspend() should return -EBUSY. On the other hand, if | 75 | ->runtime_suspend() should return -EBUSY. On the other hand, if |
76 | device_may_wakeup() returns 'true' for the device and the device is put | 76 | device_run_wake() returns 'true' for the device and the device is put |
77 | into a low power state during the execution of its bus type's | 77 | into a low power state during the execution of its bus type's |
78 | ->runtime_suspend(), it is expected that remote wake-up (i.e. hardware mechanism | 78 | ->runtime_suspend(), it is expected that remote wake-up (i.e. hardware mechanism |
79 | allowing the device to request a change of its power state, such as PCI PME) | 79 | allowing the device to request a change of its power state, such as PCI PME) |
@@ -114,7 +114,8 @@ The action performed by a bus type's ->runtime_idle() callback is totally | |||
114 | dependent on the bus type in question, but the expected and recommended action | 114 | dependent on the bus type in question, but the expected and recommended action |
115 | is to check if the device can be suspended (i.e. if all of the conditions | 115 | is to check if the device can be suspended (i.e. if all of the conditions |
116 | necessary for suspending the device are satisfied) and to queue up a suspend | 116 | necessary for suspending the device are satisfied) and to queue up a suspend |
117 | request for the device in that case. | 117 | request for the device in that case. The value returned by this callback is |
118 | ignored by the PM core. | ||
118 | 119 | ||
119 | The helper functions provided by the PM core, described in Section 4, guarantee | 120 | The helper functions provided by the PM core, described in Section 4, guarantee |
120 | that the following constraints are met with respect to the bus type's run-time | 121 | that the following constraints are met with respect to the bus type's run-time |
@@ -214,6 +215,9 @@ defined in include/linux/pm.h: | |||
214 | being executed for that device and it is not practical to wait for the | 215 | being executed for that device and it is not practical to wait for the |
215 | suspend to complete; means "start a resume as soon as you've suspended" | 216 | suspend to complete; means "start a resume as soon as you've suspended" |
216 | 217 | ||
218 | unsigned int run_wake; | ||
219 | - set if the device is capable of generating run-time wake-up events | ||
220 | |||
217 | enum rpm_status runtime_status; | 221 | enum rpm_status runtime_status; |
218 | - the run-time PM status of the device; this field's initial value is | 222 | - the run-time PM status of the device; this field's initial value is |
219 | RPM_SUSPENDED, which means that each device is initially regarded by the | 223 | RPM_SUSPENDED, which means that each device is initially regarded by the |
diff --git a/Documentation/powerpc/dts-bindings/fsl/mpc5200.txt b/Documentation/powerpc/dts-bindings/fsl/mpc5200.txt index 8447fd7090d0..cabc780f7258 100644 --- a/Documentation/powerpc/dts-bindings/fsl/mpc5200.txt +++ b/Documentation/powerpc/dts-bindings/fsl/mpc5200.txt | |||
@@ -178,3 +178,13 @@ External interrupts: | |||
178 | external irq3: interrupts = <1 3 n>; | 178 | external irq3: interrupts = <1 3 n>; |
179 | 'n' is sense (0: level high, 1: edge rising, 2: edge falling 3: level low) | 179 | 'n' is sense (0: level high, 1: edge rising, 2: edge falling 3: level low) |
180 | 180 | ||
181 | fsl,mpc5200-mscan nodes | ||
182 | ----------------------- | ||
183 | In addition to the required compatible-, reg- and interrupt-properites, you can | ||
184 | also specify which clock source shall be used for the controller: | ||
185 | |||
186 | - fsl,mscan-clock-source- a string describing the clock source. Valid values | ||
187 | are: "ip" for ip bus clock | ||
188 | "ref" for reference clock (XTAL) | ||
189 | "ref" is default in case this property is not | ||
190 | present. | ||
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/scsi/ChangeLog.megaraid_sas index c851ef497795..17ffa0607712 100644 --- a/Documentation/scsi/ChangeLog.megaraid_sas +++ b/Documentation/scsi/ChangeLog.megaraid_sas | |||
@@ -1,3 +1,65 @@ | |||
1 | 1 Release Date : Tues. July 28, 2009 10:12:45 PST 2009 - | ||
2 | (emaild-id:megaraidlinux@lsi.com) | ||
3 | Bo Yang | ||
4 | |||
5 | 2 Current Version : 00.00.04.12 | ||
6 | 3 Older Version : 00.00.04.10 | ||
7 | |||
8 | 1. Change the AEN sys PD update from scsi_scan to | ||
9 | scsi_add_device and scsi_remove_device. | ||
10 | 2. Takeoff the debug print-out in aen_polling routine. | ||
11 | |||
12 | 1 Release Date : Thur. July 02, 2009 10:12:45 PST 2009 - | ||
13 | (emaild-id:megaraidlinux@lsi.com) | ||
14 | Bo Yang | ||
15 | |||
16 | 2 Current Version : 00.00.04.10 | ||
17 | 3 Older Version : 00.00.04.08 | ||
18 | |||
19 | 1. Add the 3 mins timeout during the controller initialize. | ||
20 | 2. Add the fix for 64bit sense date errors. | ||
21 | |||
22 | 1 Release Date : Tues. May 05, 2009 10:12:45 PST 2009 - | ||
23 | (emaild-id:megaraidlinux@lsi.com) | ||
24 | Bo Yang | ||
25 | |||
26 | 2 Current Version : 00.00.04.08 | ||
27 | 3 Older Version : 00.00.04.06 | ||
28 | |||
29 | 1. Add the fix of pending in FW after deleted the logic drives. | ||
30 | 2. Add the fix of deallocating memory after get pdlist. | ||
31 | |||
32 | 1 Release Date : Tues. March 26, 2009 10:12:45 PST 2009 - | ||
33 | (emaild-id:megaraidlinux@lsi.com) | ||
34 | Bo Yang | ||
35 | |||
36 | 2 Current Version : 00.00.04.06 | ||
37 | 3 Older Version : 00.00.04.04 | ||
38 | |||
39 | 1. Add the fix of the driver cmd empty fix of the driver cmd empty. | ||
40 | 2. Add the fix of the driver MSM AEN CMD cause the system slow. | ||
41 | |||
42 | 1 Release Date : Tues. March 03, 2009 10:12:45 PST 2009 - | ||
43 | (emaild-id:megaraidlinux@lsi.com) | ||
44 | Bo Yang | ||
45 | |||
46 | 2 Current Version : 00.00.04.04 | ||
47 | 3 Older Version : 00.00.04.01 | ||
48 | |||
49 | 1. Add the Tape drive fix to the driver: If the command is for | ||
50 | the tape device, set the pthru timeout to the os layer timeout value. | ||
51 | |||
52 | 2. Add Poll_wait mechanism to Gen-2 Linux driv. | ||
53 | In the aen handler, driver needs to wakeup poll handler similar to | ||
54 | the way it raises SIGIO. | ||
55 | |||
56 | 3. Add new controller new SAS2 support to the driver. | ||
57 | |||
58 | 4. Report the unconfigured PD (system PD) to OS. | ||
59 | |||
60 | 5. Add the IEEE SGL support to the driver | ||
61 | |||
62 | 6. Reasign the Application cmds to SAS2 controller | ||
1 | 63 | ||
2 | 1 Release Date : Thur.July. 24 11:41:51 PST 2008 - | 64 | 1 Release Date : Thur.July. 24 11:41:51 PST 2008 - |
3 | (emaild-id:megaraidlinux@lsi.com) | 65 | (emaild-id:megaraidlinux@lsi.com) |
@@ -185,7 +247,7 @@ ii. FW enables WCE bit in Mode Sense cmd for drives that are configured | |||
185 | Disks are exposed with WCE=1. User is advised to enable Write Back | 247 | Disks are exposed with WCE=1. User is advised to enable Write Back |
186 | mode only when the controller has battery backup. At this time | 248 | mode only when the controller has battery backup. At this time |
187 | Synhronize cache is not supported by the FW. Driver will short-cycle | 249 | Synhronize cache is not supported by the FW. Driver will short-cycle |
188 | the cmd and return sucess without sending down to FW. | 250 | the cmd and return success without sending down to FW. |
189 | 251 | ||
190 | 1 Release Date : Sun Jan. 14 11:21:32 PDT 2007 - | 252 | 1 Release Date : Sun Jan. 14 11:21:32 PDT 2007 - |
191 | Sumant Patro <Sumant.Patro@lsil.com>/Bo Yang | 253 | Sumant Patro <Sumant.Patro@lsil.com>/Bo Yang |
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index fd9a2f67edf2..8923597bd2bd 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -798,6 +798,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
798 | setup before initializing the codecs. This option is | 798 | setup before initializing the codecs. This option is |
799 | available only when CONFIG_SND_HDA_PATCH_LOADER=y is set. | 799 | available only when CONFIG_SND_HDA_PATCH_LOADER=y is set. |
800 | See HD-Audio.txt for details. | 800 | See HD-Audio.txt for details. |
801 | beep_mode - Selects the beep registration mode (0=off, 1=on, 2= | ||
802 | dynamic registration via mute switch on/off); the default | ||
803 | value is set via CONFIG_SND_HDA_INPUT_BEEP_MODE kconfig. | ||
801 | 804 | ||
802 | [Single (global) options] | 805 | [Single (global) options] |
803 | single_cmd - Use single immediate commands to communicate with | 806 | single_cmd - Use single immediate commands to communicate with |
@@ -1454,6 +1457,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1454 | 1457 | ||
1455 | Module for internal PC-Speaker. | 1458 | Module for internal PC-Speaker. |
1456 | 1459 | ||
1460 | nopcm - Disable PC-Speaker PCM sound. Only beeps remain. | ||
1457 | nforce_wa - enable NForce chipset workaround. Expect bad sound. | 1461 | nforce_wa - enable NForce chipset workaround. Expect bad sound. |
1458 | 1462 | ||
1459 | This module supports system beeps, some kind of PCM playback and | 1463 | This module supports system beeps, some kind of PCM playback and |
@@ -1631,7 +1635,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1631 | Module snd-sscape | 1635 | Module snd-sscape |
1632 | ----------------- | 1636 | ----------------- |
1633 | 1637 | ||
1634 | Module for ENSONIQ SoundScape PnP cards. | 1638 | Module for ENSONIQ SoundScape cards. |
1635 | 1639 | ||
1636 | port - Port # (PnP setup) | 1640 | port - Port # (PnP setup) |
1637 | wss_port - WSS Port # (PnP setup) | 1641 | wss_port - WSS Port # (PnP setup) |
@@ -1639,10 +1643,11 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1639 | mpu_irq - MPU-401 IRQ # (PnP setup) | 1643 | mpu_irq - MPU-401 IRQ # (PnP setup) |
1640 | dma - DMA # (PnP setup) | 1644 | dma - DMA # (PnP setup) |
1641 | dma2 - 2nd DMA # (PnP setup, -1 to disable) | 1645 | dma2 - 2nd DMA # (PnP setup, -1 to disable) |
1646 | joystick - Enable gameport - 0 = disable (default), 1 = enable | ||
1647 | |||
1648 | This module supports multiple cards. | ||
1642 | 1649 | ||
1643 | This module supports multiple cards. ISA PnP must be enabled. | 1650 | The driver requires the firmware loader support on kernel. |
1644 | You need sscape_ctl tool in alsa-tools package for loading | ||
1645 | the microcode. | ||
1646 | 1651 | ||
1647 | Module snd-sun-amd7930 (on sparc only) | 1652 | Module snd-sun-amd7930 (on sparc only) |
1648 | -------------------------------------- | 1653 | -------------------------------------- |
diff --git a/Documentation/sound/alsa/ControlNames.txt b/Documentation/sound/alsa/ControlNames.txt index 5b18298e9495..fea65bb6269e 100644 --- a/Documentation/sound/alsa/ControlNames.txt +++ b/Documentation/sound/alsa/ControlNames.txt | |||
@@ -18,8 +18,9 @@ SOURCE: | |||
18 | Master | 18 | Master |
19 | Master Mono | 19 | Master Mono |
20 | Hardware Master | 20 | Hardware Master |
21 | Speaker (internal speaker) | ||
21 | Headphone | 22 | Headphone |
22 | PC Speaker | 23 | Beep (beep generator) |
23 | Phone | 24 | Phone |
24 | Phone Input | 25 | Phone Input |
25 | Phone Output | 26 | Phone Output |
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index 4c7f9aee5c4e..9000cd84d076 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -391,6 +391,7 @@ STAC92HD83* | |||
391 | ref Reference board | 391 | ref Reference board |
392 | mic-ref Reference board with power management for ports | 392 | mic-ref Reference board with power management for ports |
393 | dell-s14 Dell laptop | 393 | dell-s14 Dell laptop |
394 | hp HP laptops with (inverted) mute-LED | ||
394 | auto BIOS setup (default) | 395 | auto BIOS setup (default) |
395 | 396 | ||
396 | STAC9872 | 397 | STAC9872 |
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary index deab51ddc33e..4884cb33845d 100644 --- a/Documentation/spi/spi-summary +++ b/Documentation/spi/spi-summary | |||
@@ -538,7 +538,7 @@ SPI MESSAGE QUEUE | |||
538 | The bulk of the driver will be managing the I/O queue fed by transfer(). | 538 | The bulk of the driver will be managing the I/O queue fed by transfer(). |
539 | 539 | ||
540 | That queue could be purely conceptual. For example, a driver used only | 540 | That queue could be purely conceptual. For example, a driver used only |
541 | for low-frequency sensor acess might be fine using synchronous PIO. | 541 | for low-frequency sensor access might be fine using synchronous PIO. |
542 | 542 | ||
543 | But the queue will probably be very real, using message->queue, PIO, | 543 | But the queue will probably be very real, using message->queue, PIO, |
544 | often DMA (especially if the root filesystem is in SPI flash), and | 544 | often DMA (especially if the root filesystem is in SPI flash), and |
diff --git a/Documentation/sysctl/ctl_unnumbered.txt b/Documentation/sysctl/ctl_unnumbered.txt deleted file mode 100644 index 23003a8ea3e7..000000000000 --- a/Documentation/sysctl/ctl_unnumbered.txt +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | |||
2 | Except for a few extremely rare exceptions user space applications do not use | ||
3 | the binary sysctl interface. Instead everyone uses /proc/sys/... with | ||
4 | readable ascii names. | ||
5 | |||
6 | Recently the kernel has started supporting setting the binary sysctl value to | ||
7 | CTL_UNNUMBERED so we no longer need to assign a binary sysctl path to allow | ||
8 | sysctls to show up in /proc/sys. | ||
9 | |||
10 | Assigning binary sysctl numbers is an endless source of conflicts in sysctl.h, | ||
11 | breaking of the user space ABI (because of those conflicts), and maintenance | ||
12 | problems. A complete pass through all of the sysctl users revealed multiple | ||
13 | instances where the sysctl binary interface was broken and had gone undetected | ||
14 | for years. | ||
15 | |||
16 | So please do not add new binary sysctl numbers. They are unneeded and | ||
17 | problematic. | ||
18 | |||
19 | If you really need a new binary sysctl number please first merge your sysctl | ||
20 | into the kernel and then as a separate patch allocate a binary sysctl number. | ||
21 | |||
22 | (ebiederm@xmission.com, June 2007) | ||
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index a028b92001ed..8f7a0e73ef44 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -139,9 +139,9 @@ core_pattern is used to specify a core dumpfile pattern name. | |||
139 | core_pipe_limit: | 139 | core_pipe_limit: |
140 | 140 | ||
141 | This sysctl is only applicable when core_pattern is configured to pipe core | 141 | This sysctl is only applicable when core_pattern is configured to pipe core |
142 | files to user space helper a (when the first character of core_pattern is a '|', | 142 | files to a user space helper (when the first character of core_pattern is a '|', |
143 | see above). When collecting cores via a pipe to an application, it is | 143 | see above). When collecting cores via a pipe to an application, it is |
144 | occasionally usefull for the collecting application to gather data about the | 144 | occasionally useful for the collecting application to gather data about the |
145 | crashing process from its /proc/pid directory. In order to do this safely, the | 145 | crashing process from its /proc/pid directory. In order to do this safely, the |
146 | kernel must wait for the collecting process to exit, so as not to remove the | 146 | kernel must wait for the collecting process to exit, so as not to remove the |
147 | crashing processes proc files prematurely. This in turn creates the possibility | 147 | crashing processes proc files prematurely. This in turn creates the possibility |
@@ -152,7 +152,7 @@ applications in parallel. If this value is exceeded, then those crashing | |||
152 | processes above that value are noted via the kernel log and their cores are | 152 | processes above that value are noted via the kernel log and their cores are |
153 | skipped. 0 is a special value, indicating that unlimited processes may be | 153 | skipped. 0 is a special value, indicating that unlimited processes may be |
154 | captured in parallel, but that no waiting will take place (i.e. the collecting | 154 | captured in parallel, but that no waiting will take place (i.e. the collecting |
155 | process is not guaranteed access to /proc/<crahing pid>/). This value defaults | 155 | process is not guaranteed access to /proc/<crashing pid>/). This value defaults |
156 | to 0. | 156 | to 0. |
157 | 157 | ||
158 | ============================================================== | 158 | ============================================================== |
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt index a6e360d2055c..fc5790d36cd9 100644 --- a/Documentation/sysctl/vm.txt +++ b/Documentation/sysctl/vm.txt | |||
@@ -370,7 +370,7 @@ The default is 1 percent. | |||
370 | mmap_min_addr | 370 | mmap_min_addr |
371 | 371 | ||
372 | This file indicates the amount of address space which a user process will | 372 | This file indicates the amount of address space which a user process will |
373 | be restricted from mmaping. Since kernel null dereference bugs could | 373 | be restricted from mmapping. Since kernel null dereference bugs could |
374 | accidentally operate based on the information in the first couple of pages | 374 | accidentally operate based on the information in the first couple of pages |
375 | of memory userspace processes should not be allowed to write to them. By | 375 | of memory userspace processes should not be allowed to write to them. By |
376 | default this value is set to 0 and no protections will be enforced by the | 376 | default this value is set to 0 and no protections will be enforced by the |
diff --git a/Documentation/timers/hpet.txt b/Documentation/timers/hpet.txt index 04763a325520..16d25e6b5a00 100644 --- a/Documentation/timers/hpet.txt +++ b/Documentation/timers/hpet.txt | |||
@@ -3,7 +3,7 @@ | |||
3 | The High Precision Event Timer (HPET) hardware follows a specification | 3 | The High Precision Event Timer (HPET) hardware follows a specification |
4 | by Intel and Microsoft which can be found at | 4 | by Intel and Microsoft which can be found at |
5 | 5 | ||
6 | http://www.intel.com/technology/architecture/hpetspec.htm | 6 | http://www.intel.com/hardwaredesign/hpetspec_1.pdf |
7 | 7 | ||
8 | Each HPET has one fixed-rate counter (at 10+ MHz, hence "High Precision") | 8 | Each HPET has one fixed-rate counter (at 10+ MHz, hence "High Precision") |
9 | and up to 32 comparators. Normally three or more comparators are provided, | 9 | and up to 32 comparators. Normally three or more comparators are provided, |
diff --git a/Documentation/trace/kprobetrace.txt b/Documentation/trace/kprobetrace.txt new file mode 100644 index 000000000000..47aabeebbdf6 --- /dev/null +++ b/Documentation/trace/kprobetrace.txt | |||
@@ -0,0 +1,149 @@ | |||
1 | Kprobe-based Event Tracing | ||
2 | ========================== | ||
3 | |||
4 | Documentation is written by Masami Hiramatsu | ||
5 | |||
6 | |||
7 | Overview | ||
8 | -------- | ||
9 | These events are similar to tracepoint based events. Instead of Tracepoint, | ||
10 | this is based on kprobes (kprobe and kretprobe). So it can probe wherever | ||
11 | kprobes can probe (this means, all functions body except for __kprobes | ||
12 | functions). Unlike the Tracepoint based event, this can be added and removed | ||
13 | dynamically, on the fly. | ||
14 | |||
15 | To enable this feature, build your kernel with CONFIG_KPROBE_TRACING=y. | ||
16 | |||
17 | Similar to the events tracer, this doesn't need to be activated via | ||
18 | current_tracer. Instead of that, add probe points via | ||
19 | /sys/kernel/debug/tracing/kprobe_events, and enable it via | ||
20 | /sys/kernel/debug/tracing/events/kprobes/<EVENT>/enabled. | ||
21 | |||
22 | |||
23 | Synopsis of kprobe_events | ||
24 | ------------------------- | ||
25 | p[:[GRP/]EVENT] SYMBOL[+offs]|MEMADDR [FETCHARGS] : Set a probe | ||
26 | r[:[GRP/]EVENT] SYMBOL[+0] [FETCHARGS] : Set a return probe | ||
27 | |||
28 | GRP : Group name. If omitted, use "kprobes" for it. | ||
29 | EVENT : Event name. If omitted, the event name is generated | ||
30 | based on SYMBOL+offs or MEMADDR. | ||
31 | SYMBOL[+offs] : Symbol+offset where the probe is inserted. | ||
32 | MEMADDR : Address where the probe is inserted. | ||
33 | |||
34 | FETCHARGS : Arguments. Each probe can have up to 128 args. | ||
35 | %REG : Fetch register REG | ||
36 | @ADDR : Fetch memory at ADDR (ADDR should be in kernel) | ||
37 | @SYM[+|-offs] : Fetch memory at SYM +|- offs (SYM should be a data symbol) | ||
38 | $stackN : Fetch Nth entry of stack (N >= 0) | ||
39 | $stack : Fetch stack address. | ||
40 | $argN : Fetch function argument. (N >= 0)(*) | ||
41 | $retval : Fetch return value.(**) | ||
42 | +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(***) | ||
43 | NAME=FETCHARG: Set NAME as the argument name of FETCHARG. | ||
44 | |||
45 | (*) aN may not correct on asmlinkaged functions and at the middle of | ||
46 | function body. | ||
47 | (**) only for return probe. | ||
48 | (***) this is useful for fetching a field of data structures. | ||
49 | |||
50 | |||
51 | Per-Probe Event Filtering | ||
52 | ------------------------- | ||
53 | Per-probe event filtering feature allows you to set different filter on each | ||
54 | probe and gives you what arguments will be shown in trace buffer. If an event | ||
55 | name is specified right after 'p:' or 'r:' in kprobe_events, it adds an event | ||
56 | under tracing/events/kprobes/<EVENT>, at the directory you can see 'id', | ||
57 | 'enabled', 'format' and 'filter'. | ||
58 | |||
59 | enabled: | ||
60 | You can enable/disable the probe by writing 1 or 0 on it. | ||
61 | |||
62 | format: | ||
63 | This shows the format of this probe event. | ||
64 | |||
65 | filter: | ||
66 | You can write filtering rules of this event. | ||
67 | |||
68 | id: | ||
69 | This shows the id of this probe event. | ||
70 | |||
71 | |||
72 | Event Profiling | ||
73 | --------------- | ||
74 | You can check the total number of probe hits and probe miss-hits via | ||
75 | /sys/kernel/debug/tracing/kprobe_profile. | ||
76 | The first column is event name, the second is the number of probe hits, | ||
77 | the third is the number of probe miss-hits. | ||
78 | |||
79 | |||
80 | Usage examples | ||
81 | -------------- | ||
82 | To add a probe as a new event, write a new definition to kprobe_events | ||
83 | as below. | ||
84 | |||
85 | echo p:myprobe do_sys_open dfd=$arg0 filename=$arg1 flags=$arg2 mode=$arg3 > /sys/kernel/debug/tracing/kprobe_events | ||
86 | |||
87 | This sets a kprobe on the top of do_sys_open() function with recording | ||
88 | 1st to 4th arguments as "myprobe" event. As this example shows, users can | ||
89 | choose more familiar names for each arguments. | ||
90 | |||
91 | echo r:myretprobe do_sys_open $retval >> /sys/kernel/debug/tracing/kprobe_events | ||
92 | |||
93 | This sets a kretprobe on the return point of do_sys_open() function with | ||
94 | recording return value as "myretprobe" event. | ||
95 | You can see the format of these events via | ||
96 | /sys/kernel/debug/tracing/events/kprobes/<EVENT>/format. | ||
97 | |||
98 | cat /sys/kernel/debug/tracing/events/kprobes/myprobe/format | ||
99 | name: myprobe | ||
100 | ID: 75 | ||
101 | format: | ||
102 | field:unsigned short common_type; offset:0; size:2; | ||
103 | field:unsigned char common_flags; offset:2; size:1; | ||
104 | field:unsigned char common_preempt_count; offset:3; size:1; | ||
105 | field:int common_pid; offset:4; size:4; | ||
106 | field:int common_tgid; offset:8; size:4; | ||
107 | |||
108 | field: unsigned long ip; offset:16;tsize:8; | ||
109 | field: int nargs; offset:24;tsize:4; | ||
110 | field: unsigned long dfd; offset:32;tsize:8; | ||
111 | field: unsigned long filename; offset:40;tsize:8; | ||
112 | field: unsigned long flags; offset:48;tsize:8; | ||
113 | field: unsigned long mode; offset:56;tsize:8; | ||
114 | |||
115 | print fmt: "(%lx) dfd=%lx filename=%lx flags=%lx mode=%lx", REC->ip, REC->dfd, REC->filename, REC->flags, REC->mode | ||
116 | |||
117 | |||
118 | You can see that the event has 4 arguments as in the expressions you specified. | ||
119 | |||
120 | echo > /sys/kernel/debug/tracing/kprobe_events | ||
121 | |||
122 | This clears all probe points. | ||
123 | |||
124 | Right after definition, each event is disabled by default. For tracing these | ||
125 | events, you need to enable it. | ||
126 | |||
127 | echo 1 > /sys/kernel/debug/tracing/events/kprobes/myprobe/enable | ||
128 | echo 1 > /sys/kernel/debug/tracing/events/kprobes/myretprobe/enable | ||
129 | |||
130 | And you can see the traced information via /sys/kernel/debug/tracing/trace. | ||
131 | |||
132 | cat /sys/kernel/debug/tracing/trace | ||
133 | # tracer: nop | ||
134 | # | ||
135 | # TASK-PID CPU# TIMESTAMP FUNCTION | ||
136 | # | | | | | | ||
137 | <...>-1447 [001] 1038282.286875: myprobe: (do_sys_open+0x0/0xd6) dfd=3 filename=7fffd1ec4440 flags=8000 mode=0 | ||
138 | <...>-1447 [001] 1038282.286878: myretprobe: (sys_openat+0xc/0xe <- do_sys_open) $retval=fffffffffffffffe | ||
139 | <...>-1447 [001] 1038282.286885: myprobe: (do_sys_open+0x0/0xd6) dfd=ffffff9c filename=40413c flags=8000 mode=1b6 | ||
140 | <...>-1447 [001] 1038282.286915: myretprobe: (sys_open+0x1b/0x1d <- do_sys_open) $retval=3 | ||
141 | <...>-1447 [001] 1038282.286969: myprobe: (do_sys_open+0x0/0xd6) dfd=ffffff9c filename=4041c6 flags=98800 mode=10 | ||
142 | <...>-1447 [001] 1038282.286976: myretprobe: (sys_open+0x1b/0x1d <- do_sys_open) $retval=3 | ||
143 | |||
144 | |||
145 | Each line shows when the kernel hits an event, and <- SYMBOL means kernel | ||
146 | returns from SYMBOL(e.g. "sys_open+0x1b/0x1d <- do_sys_open" means kernel | ||
147 | returns from do_sys_open to sys_open+0x1b). | ||
148 | |||
149 | |||
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt index 546667024f54..319d9838e87e 100644 --- a/Documentation/video4linux/gspca.txt +++ b/Documentation/video4linux/gspca.txt | |||
@@ -6,7 +6,7 @@ The modules are: | |||
6 | 6 | ||
7 | xxxx vend:prod | 7 | xxxx vend:prod |
8 | ---- | 8 | ---- |
9 | spca501 0000:0000 MystFromOri Unknow Camera | 9 | spca501 0000:0000 MystFromOri Unknown Camera |
10 | spca508 0130:0130 Clone Digital Webcam 11043 | 10 | spca508 0130:0130 Clone Digital Webcam 11043 |
11 | m5602 0402:5602 ALi Video Camera Controller | 11 | m5602 0402:5602 ALi Video Camera Controller |
12 | spca501 040a:0002 Kodak DVC-325 | 12 | spca501 040a:0002 Kodak DVC-325 |
diff --git a/Documentation/vm/page-types.c b/Documentation/vm/page-types.c index 4793c6aac733..ea44ea502da1 100644 --- a/Documentation/vm/page-types.c +++ b/Documentation/vm/page-types.c | |||
@@ -301,7 +301,7 @@ static char *page_flag_name(uint64_t flags) | |||
301 | present = (flags >> i) & 1; | 301 | present = (flags >> i) & 1; |
302 | if (!page_flag_names[i]) { | 302 | if (!page_flag_names[i]) { |
303 | if (present) | 303 | if (present) |
304 | fatal("unkown flag bit %d\n", i); | 304 | fatal("unknown flag bit %d\n", i); |
305 | continue; | 305 | continue; |
306 | } | 306 | } |
307 | buf[j++] = present ? page_flag_names[i][0] : '_'; | 307 | buf[j++] = present ? page_flag_names[i][0] : '_'; |
diff --git a/Documentation/vm/slub.txt b/Documentation/vm/slub.txt index 510917ff59ed..b37300edf27c 100644 --- a/Documentation/vm/slub.txt +++ b/Documentation/vm/slub.txt | |||
@@ -245,7 +245,7 @@ been overwritten. Here a string of 8 characters was written into a slab that | |||
245 | has the length of 8 characters. However, a 8 character string needs a | 245 | has the length of 8 characters. However, a 8 character string needs a |
246 | terminating 0. That zero has overwritten the first byte of the Redzone field. | 246 | terminating 0. That zero has overwritten the first byte of the Redzone field. |
247 | After reporting the details of the issue encountered the FIX SLUB message | 247 | After reporting the details of the issue encountered the FIX SLUB message |
248 | tell us that SLUB has restored the Redzone to its proper value and then | 248 | tells us that SLUB has restored the Redzone to its proper value and then |
249 | system operations continue. | 249 | system operations continue. |
250 | 250 | ||
251 | Emergency operations: | 251 | Emergency operations: |