diff options
Diffstat (limited to 'Documentation/networking')
-rw-r--r-- | Documentation/networking/dl2k.txt | 2 | ||||
-rw-r--r-- | Documentation/networking/packet_mmap.txt | 16 |
2 files changed, 9 insertions, 9 deletions
diff --git a/Documentation/networking/dl2k.txt b/Documentation/networking/dl2k.txt index a3a3c6e08cee..10e8490fa406 100644 --- a/Documentation/networking/dl2k.txt +++ b/Documentation/networking/dl2k.txt | |||
@@ -222,7 +222,7 @@ rx_timeout=n - Rx DMA wait time for an interrupt. | |||
222 | reach timeout of n * 640 nano seconds. | 222 | reach timeout of n * 640 nano seconds. |
223 | Set proper rx_coalesce and rx_timeout can | 223 | Set proper rx_coalesce and rx_timeout can |
224 | reduce congestion collapse and overload which | 224 | reduce congestion collapse and overload which |
225 | has been a bottlenect for high speed network. | 225 | has been a bottleneck for high speed network. |
226 | 226 | ||
227 | For example, rx_coalesce=10 rx_timeout=800. | 227 | For example, rx_coalesce=10 rx_timeout=800. |
228 | that is, hardware assert only 1 interrupt | 228 | that is, hardware assert only 1 interrupt |
diff --git a/Documentation/networking/packet_mmap.txt b/Documentation/networking/packet_mmap.txt index 781626261e35..d1c5a4804bfc 100644 --- a/Documentation/networking/packet_mmap.txt +++ b/Documentation/networking/packet_mmap.txt | |||
@@ -66,7 +66,7 @@ the following process: | |||
66 | 66 | ||
67 | [setup] socket() -------> creation of the capture socket | 67 | [setup] socket() -------> creation of the capture socket |
68 | setsockopt() ---> allocation of the circular buffer (ring) | 68 | setsockopt() ---> allocation of the circular buffer (ring) |
69 | mmap() ---------> maping of the allocated buffer to the | 69 | mmap() ---------> mapping of the allocated buffer to the |
70 | user process | 70 | user process |
71 | 71 | ||
72 | [capture] poll() ---------> to wait for incoming packets | 72 | [capture] poll() ---------> to wait for incoming packets |
@@ -93,7 +93,7 @@ The destruction of the socket and all associated resources | |||
93 | is done by a simple call to close(fd). | 93 | is done by a simple call to close(fd). |
94 | 94 | ||
95 | Next I will describe PACKET_MMAP settings and it's constraints, | 95 | Next I will describe PACKET_MMAP settings and it's constraints, |
96 | also the maping of the circular buffer in the user process and | 96 | also the mapping of the circular buffer in the user process and |
97 | the use of this buffer. | 97 | the use of this buffer. |
98 | 98 | ||
99 | -------------------------------------------------------------------------------- | 99 | -------------------------------------------------------------------------------- |
@@ -153,8 +153,8 @@ we will get the following buffer structure: | |||
153 | 153 | ||
154 | A frame can be of any size with the only condition it can fit in a block. A block | 154 | A frame can be of any size with the only condition it can fit in a block. A block |
155 | can only hold an integer number of frames, or in other words, a frame cannot | 155 | can only hold an integer number of frames, or in other words, a frame cannot |
156 | be spawn accross two blocks so there are some datails you have to take into | 156 | be spawned accross two blocks, so there are some details you have to take into |
157 | account when choosing the frame_size. See "Maping and use of the circular | 157 | account when choosing the frame_size. See "Mapping and use of the circular |
158 | buffer (ring)". | 158 | buffer (ring)". |
159 | 159 | ||
160 | 160 | ||
@@ -262,7 +262,7 @@ i386 architecture: | |||
262 | <pagesize> = 4096 bytes | 262 | <pagesize> = 4096 bytes |
263 | <max-order> = 11 | 263 | <max-order> = 11 |
264 | 264 | ||
265 | and a value for <frame size> of 2048 byteas. These parameters will yield | 265 | and a value for <frame size> of 2048 bytes. These parameters will yield |
266 | 266 | ||
267 | <block number> = 131072/4 = 32768 blocks | 267 | <block number> = 131072/4 = 32768 blocks |
268 | <block size> = 4096 << 11 = 8 MiB. | 268 | <block size> = 4096 << 11 = 8 MiB. |
@@ -311,14 +311,14 @@ the following (from include/linux/if_packet.h): | |||
311 | tp_frame_size must be a multiple of TPACKET_ALIGNMENT | 311 | tp_frame_size must be a multiple of TPACKET_ALIGNMENT |
312 | tp_frame_nr must be exactly frames_per_block*tp_block_nr | 312 | tp_frame_nr must be exactly frames_per_block*tp_block_nr |
313 | 313 | ||
314 | Note that tp_block_size should be choosed to be a power of two or there will | 314 | Note that tp_block_size should be chosen to be a power of two or there will |
315 | be a waste of memory. | 315 | be a waste of memory. |
316 | 316 | ||
317 | -------------------------------------------------------------------------------- | 317 | -------------------------------------------------------------------------------- |
318 | + Maping and use of the circular buffer (ring) | 318 | + Mapping and use of the circular buffer (ring) |
319 | -------------------------------------------------------------------------------- | 319 | -------------------------------------------------------------------------------- |
320 | 320 | ||
321 | The maping of the buffer in the user process is done with the conventional | 321 | The mapping of the buffer in the user process is done with the conventional |
322 | mmap function. Even the circular buffer is compound of several physically | 322 | mmap function. Even the circular buffer is compound of several physically |
323 | discontiguous blocks of memory, they are contiguous to the user space, hence | 323 | discontiguous blocks of memory, they are contiguous to the user space, hence |
324 | just one call to mmap is needed: | 324 | just one call to mmap is needed: |