xref: /dpdk/doc/guides/prog_guide/img/ring-modulo2.svg (revision 0857b942113874c69dc3db5df11a828ee3cc9b6b)
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<!--
5# Copyright (c) <2010>, Intel Corporation
6# All rights reserved.
7#
8# Redistribution and use in source and binary forms, with or without
9# modification, are permitted provided that the following conditions
10# are met:
11#
12# - Redistributions of source code must retain the above copyright
13#   notice, this list of conditions and the following disclaimer.
14#
15# - Redistributions in binary form must reproduce the above copyright
16#   notice, this list of conditions and the following disclaimer in
17#   the documentation and/or other materials provided with the
18#   distribution.
19#
20# - Neither the name of Intel Corporation nor the names of its
21#   contributors may be used to endorse or promote products derived
22#   from this software without specific prior written permission.
23#
24# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
33# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
35# OF THE POSSIBILITY OF SUCH DAMAGE.
36-->
37
38<svg
39   xmlns:dc="http://purl.org/dc/elements/1.1/"
40   xmlns:cc="http://creativecommons.org/ns#"
41   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
42   xmlns:svg="http://www.w3.org/2000/svg"
43   xmlns="http://www.w3.org/2000/svg"
44   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
45   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
46   width="576.07806"
47   height="152.68279"
48   id="svg2"
49   version="1.1"
50   inkscape:version="0.48.4 r9939"
51   sodipodi:docname="ring-modulo2.svg">
52  <defs
53     id="defs4">
54    <marker
55       inkscape:stockid="Arrow1Mend"
56       orient="auto"
57       refY="0"
58       refX="0"
59       id="Arrow1Mend"
60       style="overflow:visible">
61      <path
62         id="path3602"
63         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
64         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
65         transform="matrix(-0.4,0,0,-0.4,-4,0)"
66         inkscape:connector-curvature="0" />
67    </marker>
68    <marker
69       inkscape:stockid="Arrow1Sstart"
70       orient="auto"
71       refY="0"
72       refX="0"
73       id="Arrow1Sstart"
74       style="overflow:visible">
75      <path
76         id="path3605"
77         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
78         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
79         transform="matrix(0.2,0,0,0.2,1.2,0)"
80         inkscape:connector-curvature="0" />
81    </marker>
82    <marker
83       inkscape:stockid="Arrow1Mstart"
84       orient="auto"
85       refY="0"
86       refX="0"
87       id="Arrow1Mstart"
88       style="overflow:visible">
89      <path
90         id="path3599"
91         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
92         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
93         transform="matrix(0.4,0,0,0.4,4,0)"
94         inkscape:connector-curvature="0" />
95    </marker>
96    <marker
97       inkscape:stockid="Arrow1Lstart"
98       orient="auto"
99       refY="0"
100       refX="0"
101       id="Arrow1Lstart"
102       style="overflow:visible">
103      <path
104         id="path3593"
105         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
106         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
107         transform="matrix(0.8,0,0,0.8,10,0)"
108         inkscape:connector-curvature="0" />
109    </marker>
110    <marker
111       inkscape:stockid="Arrow2Lend"
112       orient="auto"
113       refY="0"
114       refX="0"
115       id="Arrow2Lend"
116       style="overflow:visible">
117      <path
118         id="path3614"
119         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
120         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
121         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
122         inkscape:connector-curvature="0" />
123    </marker>
124    <inkscape:perspective
125       sodipodi:type="inkscape:persp3d"
126       inkscape:vp_x="0 : 526.18109 : 1"
127       inkscape:vp_y="0 : 1000 : 0"
128       inkscape:vp_z="744.09448 : 526.18109 : 1"
129       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
130       id="perspective10" />
131    <inkscape:perspective
132       id="perspective4048"
133       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
134       inkscape:vp_z="1 : 0.5 : 1"
135       inkscape:vp_y="0 : 1000 : 0"
136       inkscape:vp_x="0 : 0.5 : 1"
137       sodipodi:type="inkscape:persp3d" />
138    <inkscape:perspective
139       id="perspective4048-7"
140       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
141       inkscape:vp_z="1 : 0.5 : 1"
142       inkscape:vp_y="0 : 1000 : 0"
143       inkscape:vp_x="0 : 0.5 : 1"
144       sodipodi:type="inkscape:persp3d" />
145    <inkscape:perspective
146       id="perspective4048-4"
147       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
148       inkscape:vp_z="1 : 0.5 : 1"
149       inkscape:vp_y="0 : 1000 : 0"
150       inkscape:vp_x="0 : 0.5 : 1"
151       sodipodi:type="inkscape:persp3d" />
152    <inkscape:perspective
153       id="perspective4048-0"
154       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
155       inkscape:vp_z="1 : 0.5 : 1"
156       inkscape:vp_y="0 : 1000 : 0"
157       inkscape:vp_x="0 : 0.5 : 1"
158       sodipodi:type="inkscape:persp3d" />
159    <inkscape:perspective
160       id="perspective4048-6"
161       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
162       inkscape:vp_z="1 : 0.5 : 1"
163       inkscape:vp_y="0 : 1000 : 0"
164       inkscape:vp_x="0 : 0.5 : 1"
165       sodipodi:type="inkscape:persp3d" />
166    <inkscape:perspective
167       id="perspective4048-06"
168       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
169       inkscape:vp_z="1 : 0.5 : 1"
170       inkscape:vp_y="0 : 1000 : 0"
171       inkscape:vp_x="0 : 0.5 : 1"
172       sodipodi:type="inkscape:persp3d" />
173    <inkscape:perspective
174       id="perspective4115"
175       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
176       inkscape:vp_z="1 : 0.5 : 1"
177       inkscape:vp_y="0 : 1000 : 0"
178       inkscape:vp_x="0 : 0.5 : 1"
179       sodipodi:type="inkscape:persp3d" />
180    <inkscape:perspective
181       id="perspective4115-6"
182       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
183       inkscape:vp_z="1 : 0.5 : 1"
184       inkscape:vp_y="0 : 1000 : 0"
185       inkscape:vp_x="0 : 0.5 : 1"
186       sodipodi:type="inkscape:persp3d" />
187    <inkscape:perspective
188       id="perspective4115-5"
189       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
190       inkscape:vp_z="1 : 0.5 : 1"
191       inkscape:vp_y="0 : 1000 : 0"
192       inkscape:vp_x="0 : 0.5 : 1"
193       sodipodi:type="inkscape:persp3d" />
194    <inkscape:perspective
195       id="perspective4157"
196       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
197       inkscape:vp_z="1 : 0.5 : 1"
198       inkscape:vp_y="0 : 1000 : 0"
199       inkscape:vp_x="0 : 0.5 : 1"
200       sodipodi:type="inkscape:persp3d" />
201    <inkscape:perspective
202       id="perspective4157-7"
203       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
204       inkscape:vp_z="1 : 0.5 : 1"
205       inkscape:vp_y="0 : 1000 : 0"
206       inkscape:vp_x="0 : 0.5 : 1"
207       sodipodi:type="inkscape:persp3d" />
208    <inkscape:perspective
209       id="perspective4157-5"
210       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
211       inkscape:vp_z="1 : 0.5 : 1"
212       inkscape:vp_y="0 : 1000 : 0"
213       inkscape:vp_x="0 : 0.5 : 1"
214       sodipodi:type="inkscape:persp3d" />
215    <inkscape:perspective
216       id="perspective4157-3"
217       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
218       inkscape:vp_z="1 : 0.5 : 1"
219       inkscape:vp_y="0 : 1000 : 0"
220       inkscape:vp_x="0 : 0.5 : 1"
221       sodipodi:type="inkscape:persp3d" />
222    <inkscape:perspective
223       id="perspective4157-4"
224       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
225       inkscape:vp_z="1 : 0.5 : 1"
226       inkscape:vp_y="0 : 1000 : 0"
227       inkscape:vp_x="0 : 0.5 : 1"
228       sodipodi:type="inkscape:persp3d" />
229    <inkscape:perspective
230       id="perspective4157-2"
231       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
232       inkscape:vp_z="1 : 0.5 : 1"
233       inkscape:vp_y="0 : 1000 : 0"
234       inkscape:vp_x="0 : 0.5 : 1"
235       sodipodi:type="inkscape:persp3d" />
236    <inkscape:perspective
237       id="perspective4157-74"
238       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
239       inkscape:vp_z="1 : 0.5 : 1"
240       inkscape:vp_y="0 : 1000 : 0"
241       inkscape:vp_x="0 : 0.5 : 1"
242       sodipodi:type="inkscape:persp3d" />
243    <inkscape:perspective
244       id="perspective4157-0"
245       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
246       inkscape:vp_z="1 : 0.5 : 1"
247       inkscape:vp_y="0 : 1000 : 0"
248       inkscape:vp_x="0 : 0.5 : 1"
249       sodipodi:type="inkscape:persp3d" />
250    <inkscape:perspective
251       id="perspective4246"
252       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
253       inkscape:vp_z="1 : 0.5 : 1"
254       inkscape:vp_y="0 : 1000 : 0"
255       inkscape:vp_x="0 : 0.5 : 1"
256       sodipodi:type="inkscape:persp3d" />
257    <inkscape:perspective
258       id="perspective4246-8"
259       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
260       inkscape:vp_z="1 : 0.5 : 1"
261       inkscape:vp_y="0 : 1000 : 0"
262       inkscape:vp_x="0 : 0.5 : 1"
263       sodipodi:type="inkscape:persp3d" />
264    <inkscape:perspective
265       id="perspective4246-1"
266       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
267       inkscape:vp_z="1 : 0.5 : 1"
268       inkscape:vp_y="0 : 1000 : 0"
269       inkscape:vp_x="0 : 0.5 : 1"
270       sodipodi:type="inkscape:persp3d" />
271    <inkscape:perspective
272       id="perspective4246-0"
273       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
274       inkscape:vp_z="1 : 0.5 : 1"
275       inkscape:vp_y="0 : 1000 : 0"
276       inkscape:vp_x="0 : 0.5 : 1"
277       sodipodi:type="inkscape:persp3d" />
278    <inkscape:perspective
279       id="perspective4246-2"
280       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
281       inkscape:vp_z="1 : 0.5 : 1"
282       inkscape:vp_y="0 : 1000 : 0"
283       inkscape:vp_x="0 : 0.5 : 1"
284       sodipodi:type="inkscape:persp3d" />
285    <inkscape:perspective
286       id="perspective4246-9"
287       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
288       inkscape:vp_z="1 : 0.5 : 1"
289       inkscape:vp_y="0 : 1000 : 0"
290       inkscape:vp_x="0 : 0.5 : 1"
291       sodipodi:type="inkscape:persp3d" />
292    <inkscape:perspective
293       id="perspective4246-4"
294       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
295       inkscape:vp_z="1 : 0.5 : 1"
296       inkscape:vp_y="0 : 1000 : 0"
297       inkscape:vp_x="0 : 0.5 : 1"
298       sodipodi:type="inkscape:persp3d" />
299    <inkscape:perspective
300       id="perspective4246-17"
301       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
302       inkscape:vp_z="1 : 0.5 : 1"
303       inkscape:vp_y="0 : 1000 : 0"
304       inkscape:vp_x="0 : 0.5 : 1"
305       sodipodi:type="inkscape:persp3d" />
306    <inkscape:perspective
307       id="perspective4246-26"
308       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
309       inkscape:vp_z="1 : 0.5 : 1"
310       inkscape:vp_y="0 : 1000 : 0"
311       inkscape:vp_x="0 : 0.5 : 1"
312       sodipodi:type="inkscape:persp3d" />
313    <inkscape:perspective
314       id="perspective4373"
315       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
316       inkscape:vp_z="1 : 0.5 : 1"
317       inkscape:vp_y="0 : 1000 : 0"
318       inkscape:vp_x="0 : 0.5 : 1"
319       sodipodi:type="inkscape:persp3d" />
320    <inkscape:perspective
321       id="perspective4373-9"
322       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
323       inkscape:vp_z="1 : 0.5 : 1"
324       inkscape:vp_y="0 : 1000 : 0"
325       inkscape:vp_x="0 : 0.5 : 1"
326       sodipodi:type="inkscape:persp3d" />
327    <inkscape:perspective
328       id="perspective4409"
329       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
330       inkscape:vp_z="1 : 0.5 : 1"
331       inkscape:vp_y="0 : 1000 : 0"
332       inkscape:vp_x="0 : 0.5 : 1"
333       sodipodi:type="inkscape:persp3d" />
334    <inkscape:perspective
335       id="perspective4434"
336       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
337       inkscape:vp_z="1 : 0.5 : 1"
338       inkscape:vp_y="0 : 1000 : 0"
339       inkscape:vp_x="0 : 0.5 : 1"
340       sodipodi:type="inkscape:persp3d" />
341    <inkscape:perspective
342       id="perspective4459"
343       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
344       inkscape:vp_z="1 : 0.5 : 1"
345       inkscape:vp_y="0 : 1000 : 0"
346       inkscape:vp_x="0 : 0.5 : 1"
347       sodipodi:type="inkscape:persp3d" />
348    <inkscape:perspective
349       id="perspective4490"
350       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
351       inkscape:vp_z="1 : 0.5 : 1"
352       inkscape:vp_y="0 : 1000 : 0"
353       inkscape:vp_x="0 : 0.5 : 1"
354       sodipodi:type="inkscape:persp3d" />
355    <inkscape:perspective
356       id="perspective5102"
357       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
358       inkscape:vp_z="1 : 0.5 : 1"
359       inkscape:vp_y="0 : 1000 : 0"
360       inkscape:vp_x="0 : 0.5 : 1"
361       sodipodi:type="inkscape:persp3d" />
362    <inkscape:perspective
363       id="perspective5326"
364       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
365       inkscape:vp_z="1 : 0.5 : 1"
366       inkscape:vp_y="0 : 1000 : 0"
367       inkscape:vp_x="0 : 0.5 : 1"
368       sodipodi:type="inkscape:persp3d" />
369    <inkscape:perspective
370       id="perspective5361"
371       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
372       inkscape:vp_z="1 : 0.5 : 1"
373       inkscape:vp_y="0 : 1000 : 0"
374       inkscape:vp_x="0 : 0.5 : 1"
375       sodipodi:type="inkscape:persp3d" />
376    <inkscape:perspective
377       id="perspective5361-6"
378       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
379       inkscape:vp_z="1 : 0.5 : 1"
380       inkscape:vp_y="0 : 1000 : 0"
381       inkscape:vp_x="0 : 0.5 : 1"
382       sodipodi:type="inkscape:persp3d" />
383    <inkscape:perspective
384       id="perspective6129"
385       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
386       inkscape:vp_z="1 : 0.5 : 1"
387       inkscape:vp_y="0 : 1000 : 0"
388       inkscape:vp_x="0 : 0.5 : 1"
389       sodipodi:type="inkscape:persp3d" />
390  </defs>
391  <sodipodi:namedview
392     id="base"
393     pagecolor="#ffffff"
394     bordercolor="#666666"
395     borderopacity="1.0"
396     inkscape:pageopacity="0.0"
397     inkscape:pageshadow="2"
398     inkscape:zoom="1.979899"
399     inkscape:cx="108.52304"
400     inkscape:cy="76.1401"
401     inkscape:document-units="px"
402     inkscape:current-layer="layer1"
403     showgrid="false"
404     inkscape:window-width="1424"
405     inkscape:window-height="1059"
406     inkscape:window-x="117"
407     inkscape:window-y="26"
408     inkscape:window-maximized="0"
409     fit-margin-top="0.1"
410     fit-margin-left="0.1"
411     fit-margin-right="0.1"
412     fit-margin-bottom="0.1" />
413  <metadata
414     id="metadata7">
415    <rdf:RDF>
416      <cc:Work
417         rdf:about="">
418        <dc:format>image/svg+xml</dc:format>
419        <dc:type
420           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
421        <dc:title />
422      </cc:Work>
423    </rdf:RDF>
424  </metadata>
425  <g
426     inkscape:label="Layer 1"
427     inkscape:groupmode="layer"
428     id="layer1"
429     transform="translate(-78.921385,-378.7493)">
430    <path
431       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
432       d="m 98.571429,407.3798 c 555.000001,0 555.000001,0 555.000001,0"
433       id="path2816"
434       inkscape:connector-curvature="0" />
435    <path
436       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
437       d="m 113.57143,401.6479 0,11.42857"
438       id="path4038"
439       inkscape:connector-curvature="0" />
440    <path
441       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
442       d="m 162.61904,401.6479 0,11.42857"
443       id="path4038-4"
444       inkscape:connector-curvature="0" />
445    <path
446       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
447       d="m 211.66667,401.6479 0,11.42857"
448       id="path4038-8"
449       inkscape:connector-curvature="0" />
450    <path
451       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
452       d="m 260.71427,401.6479 0,11.42857"
453       id="path4038-5"
454       inkscape:connector-curvature="0" />
455    <path
456       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
457       d="m 309.76191,401.6479 0,11.42857"
458       id="path4038-3"
459       inkscape:connector-curvature="0" />
460    <path
461       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
462       d="m 358.80952,401.6479 0,11.42857"
463       id="path4038-1"
464       inkscape:connector-curvature="0" />
465    <path
466       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
467       d="m 407.85712,401.6479 0,11.42857"
468       id="path4038-32"
469       inkscape:connector-curvature="0" />
470    <path
471       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
472       d="m 456.90477,401.6479 0,11.42857"
473       id="path4038-32-0"
474       inkscape:connector-curvature="0" />
475    <path
476       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
477       d="m 505.95238,401.6479 0,11.42857"
478       id="path4038-32-1"
479       inkscape:connector-curvature="0" />
480    <path
481       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
482       d="m 555,401.6479 0,11.42857"
483       id="path4038-32-5"
484       inkscape:connector-curvature="0" />
485    <rect
486       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
487       id="rect4147"
488       width="47.098743"
489       height="14.773863"
490       x="113.51569"
491       y="424.23651"
492       rx="4.7096338"
493       ry="4.3015814" />
494    <rect
495       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
496       id="rect4147-4"
497       width="47.098743"
498       height="14.773863"
499       x="162.81586"
500       y="424.23651"
501       rx="4.7096338"
502       ry="4.3015814" />
503    <rect
504       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
505       id="rect4147-6"
506       width="47.098743"
507       height="14.773863"
508       x="212.11604"
509       y="424.23651"
510       rx="4.7096338"
511       ry="4.3015814" />
512    <rect
513       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
514       id="rect4147-69"
515       width="47.098743"
516       height="14.773863"
517       x="261.41623"
518       y="424.23651"
519       rx="4.7096338"
520       ry="4.3015814" />
521    <rect
522       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
523       id="rect4147-7"
524       width="47.098743"
525       height="14.773863"
526       x="310.7164"
527       y="424.23651"
528       rx="4.7096338"
529       ry="4.3015814" />
530    <rect
531       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
532       id="rect4147-5"
533       width="47.098743"
534       height="14.773863"
535       x="360.01657"
536       y="424.23651"
537       rx="4.7096338"
538       ry="4.3015814" />
539    <rect
540       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
541       id="rect4147-54"
542       width="47.098743"
543       height="14.773863"
544       x="409.31677"
545       y="424.23651"
546       rx="4.7096338"
547       ry="4.3015814" />
548    <rect
549       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
550       id="rect4147-43"
551       width="47.098743"
552       height="14.773863"
553       x="458.61694"
554       y="424.23651"
555       rx="4.7096338"
556       ry="4.3015814" />
557    <rect
558       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
559       id="rect4147-78"
560       width="47.098743"
561       height="14.773863"
562       x="507.91714"
563       y="424.23651"
564       rx="4.7096338"
565       ry="4.3015814" />
566    <text
567       xml:space="preserve"
568       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
569       x="110.10663"
570       y="397.88794"
571       id="text4234"><tspan
572         sodipodi:role="line"
573         id="tspan4236"
574         x="110.10663"
575         y="397.88794">0</tspan></text>
576    <text
577       xml:space="preserve"
578       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
579       x="146.47003"
580       y="397.88794"
581       id="text4234-6"><tspan
582         sodipodi:role="line"
583         id="tspan4236-8"
584         x="146.47003"
585         y="397.88794">16384</tspan></text>
586    <text
587       xml:space="preserve"
588       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
589       x="196.06828"
590       y="397.88794"
591       id="text4234-4"><tspan
592         sodipodi:role="line"
593         id="tspan4236-3"
594         x="196.06828"
595         y="397.88794">32768</tspan></text>
596    <text
597       xml:space="preserve"
598       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
599       x="245.73245"
600       y="397.88794"
601       id="text4234-49"><tspan
602         sodipodi:role="line"
603         id="tspan4236-2"
604         x="245.73245"
605         y="397.88794">49152</tspan></text>
606    <text
607       xml:space="preserve"
608       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
609       x="294.8107"
610       y="397.88794"
611       id="text4234-68"><tspan
612         sodipodi:role="line"
613         id="tspan4236-9"
614         x="294.8107"
615         y="397.88794">65536</tspan></text>
616    <text
617       xml:space="preserve"
618       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
619       x="306.93814"
620       y="386.27118"
621       id="text4234-66"><tspan
622         sodipodi:role="line"
623         id="tspan4236-4"
624         x="306.93814"
625         y="386.27118">0</tspan></text>
626    <text
627       xml:space="preserve"
628       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
629       x="503.41278"
630       y="386.27118"
631       id="text4234-2"><tspan
632         sodipodi:role="line"
633         id="tspan4236-72"
634         x="503.41278"
635         y="386.27118">0</tspan></text>
636    <text
637       xml:space="preserve"
638       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
639       x="343.9451"
640       y="397.88794"
641       id="text4234-6-1"><tspan
642         sodipodi:role="line"
643         id="tspan4236-8-5"
644         x="343.9451"
645         y="397.88794">16384</tspan></text>
646    <text
647       xml:space="preserve"
648       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
649       x="541.42017"
650       y="397.88794"
651       id="text4234-6-4"><tspan
652         sodipodi:role="line"
653         id="tspan4236-8-9"
654         x="541.42017"
655         y="397.88794">16384</tspan></text>
656    <text
657       xml:space="preserve"
658       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
659       x="393.54333"
660       y="397.88794"
661       id="text4234-4-0"><tspan
662         sodipodi:role="line"
663         id="tspan4236-3-9"
664         x="393.54333"
665         y="397.88794">32768</tspan></text>
666    <text
667       xml:space="preserve"
668       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
669       x="443.20752"
670       y="397.88794"
671       id="text4234-49-1"><tspan
672         sodipodi:role="line"
673         id="tspan4236-2-7"
674         x="443.20752"
675         y="397.88794">49152</tspan></text>
676    <text
677       xml:space="preserve"
678       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
679       x="492.28577"
680       y="397.88794"
681       id="text4234-68-7"><tspan
682         sodipodi:role="line"
683         id="tspan4236-9-1"
684         x="492.28577"
685         y="397.88794">65536</tspan></text>
686    <text
687       xml:space="preserve"
688       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
689       x="125.76399"
690       y="434.6539"
691       id="text4476"><tspan
692         sodipodi:role="line"
693         id="tspan4478"
694         x="125.76399"
695         y="434.6539">ring</tspan></text>
696    <path
697       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
698       d="m 291.64075,441.72497 0,21.21321"
699       id="path4480"
700       inkscape:connector-curvature="0" />
701    <path
702       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
703       d="m 328.76387,441.72497 0,21.21321"
704       id="path4480-1"
705       inkscape:connector-curvature="0" />
706    <text
707       xml:space="preserve"
708       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
709       x="284.56973"
710       y="473.50385"
711       id="text5070"><tspan
712         sodipodi:role="line"
713         id="tspan5072"
714         x="284.56973"
715         y="473.50385">ch</tspan><tspan
716         sodipodi:role="line"
717         x="284.56973"
718         y="486.00385"
719         id="tspan5074">ct</tspan></text>
720    <text
721       xml:space="preserve"
722       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
723       x="323.18771"
724       y="472.53461"
725       id="text5076"><tspan
726         sodipodi:role="line"
727         id="tspan5078"
728         x="323.18771"
729         y="472.53461">ph</tspan><tspan
730         sodipodi:role="line"
731         x="323.18771"
732         y="485.03461"
733         id="tspan5080">pt</tspan></text>
734    <rect
735       style="fill:#5a750a;fill-opacity:1;stroke:none"
736       id="rect5082"
737       width="10.859776"
738       height="13.550571"
739       x="291.42346"
740       y="424.93753" />
741    <text
742       xml:space="preserve"
743       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
744       x="582.85803"
745       y="421.52191"
746       id="text5084"><tspan
747         sodipodi:role="line"
748         id="tspan5086"
749         x="582.85803"
750         y="421.52191">value for</tspan><tspan
751         sodipodi:role="line"
752         x="582.85803"
753         y="434.02191"
754         id="tspan5088">indexes</tspan><tspan
755         sodipodi:role="line"
756         x="582.85803"
757         y="446.52191"
758         id="tspan5090">(prod_head,</tspan><tspan
759         sodipodi:role="line"
760         x="582.85803"
761         y="459.02191"
762         id="tspan5092">prod_tail, ...)</tspan></text>
763    <rect
764       style="fill:#5a750a;fill-opacity:1;stroke:none"
765       id="rect5082-5"
766       width="24.95269"
767       height="13.550571"
768       x="404.71667"
769       y="492.80005" />
770    <text
771       xml:space="preserve"
772       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
773       x="434.3656"
774       y="502.33414"
775       id="text5116"><tspan
776         sodipodi:role="line"
777         x="434.3656"
778         y="502.33414"
779         id="tspan5293">used entries in ring</tspan></text>
780    <text
781       xml:space="preserve"
782       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
783       x="78.791893"
784       y="466.47369"
785       id="text5261"><tspan
786         sodipodi:role="line"
787         id="tspan5263"
788         x="78.791893"
789         y="466.47369">size = 16384</tspan><tspan
790         sodipodi:role="line"
791         x="78.791893"
792         y="478.97369"
793         id="tspan5291">mask = 16383</tspan><tspan
794         sodipodi:role="line"
795         x="78.791893"
796         y="491.47369"
797         id="tspan5289">ph = pt = 6000</tspan><tspan
798         sodipodi:role="line"
799         x="78.791893"
800         y="503.97369"
801         id="tspan5265">ct = ch = 59000</tspan><tspan
802         sodipodi:role="line"
803         x="78.791893"
804         y="516.47369"
805         id="tspan5267">used_entries = (pt - ch) % 65536 = 12536</tspan><tspan
806         sodipodi:role="line"
807         x="78.791893"
808         y="528.97369"
809         id="tspan5287">free_entries = (mask + ct - ph) % 65536 = 3847</tspan></text>
810    <rect
811       style="fill:#5a750a;fill-opacity:1;stroke:none"
812       id="rect5082-7"
813       width="15.608779"
814       height="13.550571"
815       x="310.98422"
816       y="424.93753"
817       rx="2.5021396"
818       ry="4" />
819    <rect
820       style="fill:#5a750a;fill-opacity:1;stroke:none"
821       id="rect5082-3"
822       width="14.649387"
823       height="13.550571"
824       x="293.27341"
825       y="424.93753"
826       rx="2.2558498"
827       ry="2.2" />
828    <rect
829       style="fill:#5a750a;fill-opacity:1;stroke:none"
830       id="rect5082-56"
831       width="13.128264"
832       height="13.550571"
833       x="315.93643"
834       y="424.93753" />
835    <path
836       style="fill:#5a750a;fill-opacity:1;stroke:#fd0004;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
837       d="m 294.64286,452.71932 31.78571,0"
838       id="path5384"
839       inkscape:connector-curvature="0" />
840    <text
841       xml:space="preserve"
842       style="font-size:4.97793007px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
843       x="294.35522"
844       y="460.33231"
845       id="text5962"><tspan
846         sodipodi:role="line"
847         id="tspan5964"
848         x="294.35522"
849         y="460.33231">used_entries</tspan></text>
850  </g>
851</svg>
852