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