aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking/netlink_mmap.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/networking/netlink_mmap.txt')
-rw-r--r--Documentation/networking/netlink_mmap.txt12
1 files changed, 6 insertions, 6 deletions
diff --git a/Documentation/networking/netlink_mmap.txt b/Documentation/networking/netlink_mmap.txt
index 1c2dab409625..9bd0f5211e9a 100644
--- a/Documentation/networking/netlink_mmap.txt
+++ b/Documentation/networking/netlink_mmap.txt
@@ -54,7 +54,7 @@ it will use an allocated socket buffer as usual and the contents will be
54 copied to the ring on transmission, nullifying most of the performance gains. 54 copied to the ring on transmission, nullifying most of the performance gains.
55Dumps of kernel databases automatically support memory mapped I/O. 55Dumps of kernel databases automatically support memory mapped I/O.
56 56
57Conversion of the transmit path involves changing message contruction to 57Conversion of the transmit path involves changing message construction to
58use memory from the TX ring instead of (usually) a buffer declared on the 58use memory from the TX ring instead of (usually) a buffer declared on the
59stack and setting up the frame header approriately. Optionally poll() can 59stack and setting up the frame header approriately. Optionally poll() can
60be used to wait for free frames in the TX ring. 60be used to wait for free frames in the TX ring.
@@ -65,8 +65,8 @@ Structured and definitions for using memory mapped I/O are contained in
65RX and TX rings 65RX and TX rings
66---------------- 66----------------
67 67
68Each ring contains a number of continous memory blocks, containing frames of 68Each ring contains a number of continuous memory blocks, containing frames of
69fixed size dependant on the parameters used for ring setup. 69fixed size dependent on the parameters used for ring setup.
70 70
71Ring: [ block 0 ] 71Ring: [ block 0 ]
72 [ frame 0 ] 72 [ frame 0 ]
@@ -80,7 +80,7 @@ Ring: [ block 0 ]
80 [ frame 2 * n + 1 ] 80 [ frame 2 * n + 1 ]
81 81
82The blocks are only visible to the kernel, from the point of view of user-space 82The blocks are only visible to the kernel, from the point of view of user-space
83the ring just contains the frames in a continous memory zone. 83the ring just contains the frames in a continuous memory zone.
84 84
85The ring parameters used for setting up the ring are defined as follows: 85The ring parameters used for setting up the ring are defined as follows:
86 86
@@ -91,7 +91,7 @@ struct nl_mmap_req {
91 unsigned int nm_frame_nr; 91 unsigned int nm_frame_nr;
92}; 92};
93 93
94Frames are grouped into blocks, where each block is a continous region of memory 94Frames are grouped into blocks, where each block is a continuous region of memory
95and holds nm_block_size / nm_frame_size frames. The total number of frames in 95and holds nm_block_size / nm_frame_size frames. The total number of frames in
96the ring is nm_frame_nr. The following invariants hold: 96the ring is nm_frame_nr. The following invariants hold:
97 97
@@ -113,7 +113,7 @@ Some parameters are constrained, specifically:
113 113
114- nm_frame_nr must equal the actual number of frames as specified above. 114- nm_frame_nr must equal the actual number of frames as specified above.
115 115
116When the kernel can't allocate phsyically continous memory for a ring block, 116When the kernel can't allocate physically continuous memory for a ring block,
117it will fall back to use physically discontinous memory. This might affect 117it will fall back to use physically discontinous memory. This might affect
118performance negatively, in order to avoid this the nm_frame_size parameter 118performance negatively, in order to avoid this the nm_frame_size parameter
119should be chosen to be as small as possible for the required frame size and 119should be chosen to be as small as possible for the required frame size and