aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/networking')
-rw-r--r--Documentation/networking/dl2k.txt2
-rw-r--r--Documentation/networking/packet_mmap.txt16
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
93is done by a simple call to close(fd). 93is done by a simple call to close(fd).
94 94
95Next I will describe PACKET_MMAP settings and it's constraints, 95Next I will describe PACKET_MMAP settings and it's constraints,
96also the maping of the circular buffer in the user process and 96also the mapping of the circular buffer in the user process and
97the use of this buffer. 97the use of this buffer.
98 98
99-------------------------------------------------------------------------------- 99--------------------------------------------------------------------------------
@@ -153,8 +153,8 @@ we will get the following buffer structure:
153 153
154A frame can be of any size with the only condition it can fit in a block. A block 154A frame can be of any size with the only condition it can fit in a block. A block
155can only hold an integer number of frames, or in other words, a frame cannot 155can only hold an integer number of frames, or in other words, a frame cannot
156be spawn accross two blocks so there are some datails you have to take into 156be spawned accross two blocks, so there are some details you have to take into
157account when choosing the frame_size. See "Maping and use of the circular 157account when choosing the frame_size. See "Mapping and use of the circular
158buffer (ring)". 158buffer (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
265and a value for <frame size> of 2048 byteas. These parameters will yield 265and 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
314Note that tp_block_size should be choosed to be a power of two or there will 314Note that tp_block_size should be chosen to be a power of two or there will
315be a waste of memory. 315be 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
321The maping of the buffer in the user process is done with the conventional 321The mapping of the buffer in the user process is done with the conventional
322mmap function. Even the circular buffer is compound of several physically 322mmap function. Even the circular buffer is compound of several physically
323discontiguous blocks of memory, they are contiguous to the user space, hence 323discontiguous blocks of memory, they are contiguous to the user space, hence
324just one call to mmap is needed: 324just one call to mmap is needed: