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 a3a3c6e08ce..10e8490fa40 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. reach timeout of n * 640 nano seconds. Set proper rx_coalesce and rx_timeout can reduce congestion collapse and overload which - has been a bottlenect for high speed network. + has been a bottleneck for high speed network. For example, rx_coalesce=10 rx_timeout=800. that is, hardware assert only 1 interrupt diff --git a/Documentation/networking/packet_mmap.txt b/Documentation/networking/packet_mmap.txt index 781626261e3..d1c5a4804bf 100644 --- a/Documentation/networking/packet_mmap.txt +++ b/Documentation/networking/packet_mmap.txt @@ -66,7 +66,7 @@ the following process: [setup] socket() -------> creation of the capture socket setsockopt() ---> allocation of the circular buffer (ring) - mmap() ---------> maping of the allocated buffer to the + mmap() ---------> mapping of the allocated buffer to the user process [capture] poll() ---------> to wait for incoming packets @@ -93,7 +93,7 @@ The destruction of the socket and all associated resources is done by a simple call to close(fd). Next I will describe PACKET_MMAP settings and it's constraints, -also the maping of the circular buffer in the user process and +also the mapping of the circular buffer in the user process and the use of this buffer. -------------------------------------------------------------------------------- @@ -153,8 +153,8 @@ we will get the following buffer structure: A frame can be of any size with the only condition it can fit in a block. A block can only hold an integer number of frames, or in other words, a frame cannot -be spawn accross two blocks so there are some datails you have to take into -account when choosing the frame_size. See "Maping and use of the circular +be spawned accross two blocks, so there are some details you have to take into +account when choosing the frame_size. See "Mapping and use of the circular buffer (ring)". @@ -262,7 +262,7 @@ i386 architecture: <pagesize> = 4096 bytes <max-order> = 11 -and a value for <frame size> of 2048 byteas. These parameters will yield +and a value for <frame size> of 2048 bytes. These parameters will yield <block number> = 131072/4 = 32768 blocks <block size> = 4096 << 11 = 8 MiB. @@ -311,14 +311,14 @@ the following (from include/linux/if_packet.h): tp_frame_size must be a multiple of TPACKET_ALIGNMENT tp_frame_nr must be exactly frames_per_block*tp_block_nr -Note that tp_block_size should be choosed to be a power of two or there will +Note that tp_block_size should be chosen to be a power of two or there will be a waste of memory. -------------------------------------------------------------------------------- -+ Maping and use of the circular buffer (ring) ++ Mapping and use of the circular buffer (ring) -------------------------------------------------------------------------------- -The maping of the buffer in the user process is done with the conventional +The mapping of the buffer in the user process is done with the conventional mmap function. Even the circular buffer is compound of several physically discontiguous blocks of memory, they are contiguous to the user space, hence just one call to mmap is needed: |