xref: /dpdk/doc/guides/prog_guide/img/ring-modulo1.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-2014 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-modulo1.svg">
21  <defs
22     id="defs4">
23    <marker
24       inkscape:stockid="Arrow1Mstart"
25       orient="auto"
26       refY="0"
27       refX="0"
28       id="Arrow1Mstart"
29       style="overflow:visible">
30      <path
31         id="path3599"
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="Arrow1Lstart"
39       orient="auto"
40       refY="0"
41       refX="0"
42       id="Arrow1Lstart"
43       style="overflow:visible">
44      <path
45         id="path3593"
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.8,0,0,0.8,10,0)"
49         inkscape:connector-curvature="0" />
50    </marker>
51    <marker
52       inkscape:stockid="Arrow2Lend"
53       orient="auto"
54       refY="0"
55       refX="0"
56       id="Arrow2Lend"
57       style="overflow:visible">
58      <path
59         id="path3614"
60         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
61         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"
62         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
63         inkscape:connector-curvature="0" />
64    </marker>
65    <inkscape:perspective
66       sodipodi:type="inkscape:persp3d"
67       inkscape:vp_x="0 : 526.18109 : 1"
68       inkscape:vp_y="0 : 1000 : 0"
69       inkscape:vp_z="744.09448 : 526.18109 : 1"
70       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
71       id="perspective10" />
72    <inkscape:perspective
73       id="perspective4048"
74       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
75       inkscape:vp_z="1 : 0.5 : 1"
76       inkscape:vp_y="0 : 1000 : 0"
77       inkscape:vp_x="0 : 0.5 : 1"
78       sodipodi:type="inkscape:persp3d" />
79    <inkscape:perspective
80       id="perspective4048-7"
81       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
82       inkscape:vp_z="1 : 0.5 : 1"
83       inkscape:vp_y="0 : 1000 : 0"
84       inkscape:vp_x="0 : 0.5 : 1"
85       sodipodi:type="inkscape:persp3d" />
86    <inkscape:perspective
87       id="perspective4048-4"
88       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
89       inkscape:vp_z="1 : 0.5 : 1"
90       inkscape:vp_y="0 : 1000 : 0"
91       inkscape:vp_x="0 : 0.5 : 1"
92       sodipodi:type="inkscape:persp3d" />
93    <inkscape:perspective
94       id="perspective4048-0"
95       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
96       inkscape:vp_z="1 : 0.5 : 1"
97       inkscape:vp_y="0 : 1000 : 0"
98       inkscape:vp_x="0 : 0.5 : 1"
99       sodipodi:type="inkscape:persp3d" />
100    <inkscape:perspective
101       id="perspective4048-6"
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-06"
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="perspective4115"
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="perspective4115-6"
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="perspective4115-5"
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="perspective4157"
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="perspective4157-7"
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="perspective4157-5"
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="perspective4157-3"
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-4"
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-2"
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-74"
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-0"
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="perspective4246"
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="perspective4246-8"
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="perspective4246-1"
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="perspective4246-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-2"
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-9"
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-4"
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-17"
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-26"
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="perspective4373"
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="perspective4373-9"
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="perspective4409"
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="perspective4434"
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="perspective4459"
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="perspective4490"
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="perspective5102"
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="perspective5974"
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    <marker
311       inkscape:stockid="Arrow1Mstart"
312       orient="auto"
313       refY="0"
314       refX="0"
315       id="Arrow1Mstart-3"
316       style="overflow:visible">
317      <path
318         id="path3599-9"
319         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
320         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
321         transform="matrix(0.4,0,0,0.4,4,0)"
322         inkscape:connector-curvature="0" />
323    </marker>
324    <marker
325       inkscape:stockid="Arrow1Mend"
326       orient="auto"
327       refY="0"
328       refX="0"
329       id="Arrow1Mend"
330       style="overflow:visible">
331      <path
332         id="path3602"
333         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
334         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
335         transform="matrix(-0.4,0,0,-0.4,-4,0)"
336         inkscape:connector-curvature="0" />
337    </marker>
338  </defs>
339  <sodipodi:namedview
340     id="base"
341     pagecolor="#ffffff"
342     bordercolor="#666666"
343     borderopacity="1.0"
344     inkscape:pageopacity="0.0"
345     inkscape:pageshadow="2"
346     inkscape:zoom="3.959798"
347     inkscape:cx="393.92211"
348     inkscape:cy="95.26088"
349     inkscape:document-units="px"
350     inkscape:current-layer="layer1"
351     showgrid="false"
352     inkscape:window-width="1424"
353     inkscape:window-height="1059"
354     inkscape:window-x="271"
355     inkscape:window-y="29"
356     inkscape:window-maximized="0"
357     fit-margin-top="0.1"
358     fit-margin-left="0.1"
359     fit-margin-right="0.1"
360     fit-margin-bottom="0.1" />
361  <metadata
362     id="metadata7">
363    <rdf:RDF>
364      <cc:Work
365         rdf:about="">
366        <dc:format>image/svg+xml</dc:format>
367        <dc:type
368           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
369        <dc:title />
370      </cc:Work>
371    </rdf:RDF>
372  </metadata>
373  <g
374     inkscape:label="Layer 1"
375     inkscape:groupmode="layer"
376     id="layer1"
377     transform="translate(-78.921385,-378.7493)">
378    <path
379       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
380       d="m 98.571429,407.3798 c 555.000001,0 555.000001,0 555.000001,0"
381       id="path2816"
382       inkscape:connector-curvature="0" />
383    <path
384       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
385       d="m 113.57143,401.6479 0,11.42857"
386       id="path4038"
387       inkscape:connector-curvature="0" />
388    <path
389       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
390       d="m 162.61904,401.6479 0,11.42857"
391       id="path4038-4"
392       inkscape:connector-curvature="0" />
393    <path
394       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
395       d="m 211.66667,401.6479 0,11.42857"
396       id="path4038-8"
397       inkscape:connector-curvature="0" />
398    <path
399       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
400       d="m 260.71427,401.6479 0,11.42857"
401       id="path4038-5"
402       inkscape:connector-curvature="0" />
403    <path
404       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
405       d="m 309.76191,401.6479 0,11.42857"
406       id="path4038-3"
407       inkscape:connector-curvature="0" />
408    <path
409       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
410       d="m 358.80952,401.6479 0,11.42857"
411       id="path4038-1"
412       inkscape:connector-curvature="0" />
413    <path
414       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
415       d="m 407.85712,401.6479 0,11.42857"
416       id="path4038-32"
417       inkscape:connector-curvature="0" />
418    <path
419       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
420       d="m 456.90477,401.6479 0,11.42857"
421       id="path4038-32-0"
422       inkscape:connector-curvature="0" />
423    <path
424       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
425       d="m 505.95238,401.6479 0,11.42857"
426       id="path4038-32-1"
427       inkscape:connector-curvature="0" />
428    <path
429       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
430       d="m 555,401.6479 0,11.42857"
431       id="path4038-32-5"
432       inkscape:connector-curvature="0" />
433    <rect
434       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
435       id="rect4147"
436       width="47.098743"
437       height="14.773863"
438       x="113.51569"
439       y="424.23651"
440       rx="4.7096338"
441       ry="4.3015814" />
442    <rect
443       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
444       id="rect4147-4"
445       width="47.098743"
446       height="14.773863"
447       x="162.81586"
448       y="424.23651"
449       rx="4.7096338"
450       ry="4.3015814" />
451    <rect
452       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
453       id="rect4147-6"
454       width="47.098743"
455       height="14.773863"
456       x="212.11604"
457       y="424.23651"
458       rx="4.7096338"
459       ry="4.3015814" />
460    <rect
461       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
462       id="rect4147-69"
463       width="47.098743"
464       height="14.773863"
465       x="261.41623"
466       y="424.23651"
467       rx="4.7096338"
468       ry="4.3015814" />
469    <rect
470       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
471       id="rect4147-7"
472       width="47.098743"
473       height="14.773863"
474       x="310.7164"
475       y="424.23651"
476       rx="4.7096338"
477       ry="4.3015814" />
478    <rect
479       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
480       id="rect4147-5"
481       width="47.098743"
482       height="14.773863"
483       x="360.01657"
484       y="424.23651"
485       rx="4.7096338"
486       ry="4.3015814" />
487    <rect
488       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
489       id="rect4147-54"
490       width="47.098743"
491       height="14.773863"
492       x="409.31677"
493       y="424.23651"
494       rx="4.7096338"
495       ry="4.3015814" />
496    <rect
497       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
498       id="rect4147-43"
499       width="47.098743"
500       height="14.773863"
501       x="458.61694"
502       y="424.23651"
503       rx="4.7096338"
504       ry="4.3015814" />
505    <rect
506       style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
507       id="rect4147-78"
508       width="47.098743"
509       height="14.773863"
510       x="507.91714"
511       y="424.23651"
512       rx="4.7096338"
513       ry="4.3015814" />
514    <text
515       xml:space="preserve"
516       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
517       x="110.10663"
518       y="397.88794"
519       id="text4234"><tspan
520         sodipodi:role="line"
521         id="tspan4236"
522         x="110.10663"
523         y="397.88794">0</tspan></text>
524    <text
525       xml:space="preserve"
526       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
527       x="146.47003"
528       y="397.88794"
529       id="text4234-6"><tspan
530         sodipodi:role="line"
531         id="tspan4236-8"
532         x="146.47003"
533         y="397.88794">16384</tspan></text>
534    <text
535       xml:space="preserve"
536       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
537       x="196.06828"
538       y="397.88794"
539       id="text4234-4"><tspan
540         sodipodi:role="line"
541         id="tspan4236-3"
542         x="196.06828"
543         y="397.88794">32768</tspan></text>
544    <text
545       xml:space="preserve"
546       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
547       x="245.73245"
548       y="397.88794"
549       id="text4234-49"><tspan
550         sodipodi:role="line"
551         id="tspan4236-2"
552         x="245.73245"
553         y="397.88794">49152</tspan></text>
554    <text
555       xml:space="preserve"
556       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
557       x="294.8107"
558       y="397.88794"
559       id="text4234-68"><tspan
560         sodipodi:role="line"
561         id="tspan4236-9"
562         x="294.8107"
563         y="397.88794">65536</tspan></text>
564    <text
565       xml:space="preserve"
566       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
567       x="306.93814"
568       y="386.27118"
569       id="text4234-66"><tspan
570         sodipodi:role="line"
571         id="tspan4236-4"
572         x="306.93814"
573         y="386.27118">0</tspan></text>
574    <text
575       xml:space="preserve"
576       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
577       x="503.41278"
578       y="386.27118"
579       id="text4234-2"><tspan
580         sodipodi:role="line"
581         id="tspan4236-72"
582         x="503.41278"
583         y="386.27118">0</tspan></text>
584    <text
585       xml:space="preserve"
586       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
587       x="343.9451"
588       y="397.88794"
589       id="text4234-6-1"><tspan
590         sodipodi:role="line"
591         id="tspan4236-8-5"
592         x="343.9451"
593         y="397.88794">16384</tspan></text>
594    <text
595       xml:space="preserve"
596       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
597       x="541.42017"
598       y="397.88794"
599       id="text4234-6-4"><tspan
600         sodipodi:role="line"
601         id="tspan4236-8-9"
602         x="541.42017"
603         y="397.88794">16384</tspan></text>
604    <text
605       xml:space="preserve"
606       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
607       x="393.54333"
608       y="397.88794"
609       id="text4234-4-0"><tspan
610         sodipodi:role="line"
611         id="tspan4236-3-9"
612         x="393.54333"
613         y="397.88794">32768</tspan></text>
614    <text
615       xml:space="preserve"
616       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
617       x="443.20752"
618       y="397.88794"
619       id="text4234-49-1"><tspan
620         sodipodi:role="line"
621         id="tspan4236-2-7"
622         x="443.20752"
623         y="397.88794">49152</tspan></text>
624    <text
625       xml:space="preserve"
626       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
627       x="492.28577"
628       y="397.88794"
629       id="text4234-68-7"><tspan
630         sodipodi:role="line"
631         id="tspan4236-9-1"
632         x="492.28577"
633         y="397.88794">65536</tspan></text>
634    <text
635       xml:space="preserve"
636       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
637       x="125.76399"
638       y="434.6539"
639       id="text4476"><tspan
640         sodipodi:role="line"
641         id="tspan4478"
642         x="125.76399"
643         y="434.6539">ring</tspan></text>
644    <path
645       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
646       d="m 322.23865,441.72497 0,21.21321"
647       id="path4480"
648       inkscape:connector-curvature="0" />
649    <path
650       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
651       d="m 346.9874,441.72497 0,21.21321"
652       id="path4480-1"
653       inkscape:connector-curvature="0" />
654    <text
655       xml:space="preserve"
656       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
657       x="315.1676"
658       y="473.50385"
659       id="text5070"><tspan
660         sodipodi:role="line"
661         id="tspan5072"
662         x="315.1676"
663         y="473.50385">ch</tspan><tspan
664         sodipodi:role="line"
665         x="315.1676"
666         y="486.00385"
667         id="tspan5074">ct</tspan></text>
668    <text
669       xml:space="preserve"
670       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
671       x="341.41125"
672       y="472.53461"
673       id="text5076"><tspan
674         sodipodi:role="line"
675         id="tspan5078"
676         x="341.41125"
677         y="472.53461">ph</tspan><tspan
678         sodipodi:role="line"
679         x="341.41125"
680         y="485.03461"
681         id="tspan5080">pt</tspan></text>
682    <rect
683       style="fill:#5a750a;fill-opacity:1;stroke:none"
684       id="rect5082"
685       width="24.95269"
686       height="13.550571"
687       x="322.15198"
688       y="424.93753" />
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="582.85803"
693       y="421.52191"
694       id="text5084"><tspan
695         sodipodi:role="line"
696         id="tspan5086"
697         x="582.85803"
698         y="421.52191">value for</tspan><tspan
699         sodipodi:role="line"
700         x="582.85803"
701         y="434.02191"
702         id="tspan5088">indexes</tspan><tspan
703         sodipodi:role="line"
704         x="582.85803"
705         y="446.52191"
706         id="tspan5090">(prod_head,</tspan><tspan
707         sodipodi:role="line"
708         x="582.85803"
709         y="459.02191"
710         id="tspan5092">prod_tail, ...)</tspan></text>
711    <rect
712       style="fill:#5a750a;fill-opacity:1;stroke:none"
713       id="rect5082-5"
714       width="24.95269"
715       height="13.550571"
716       x="404.71667"
717       y="492.80005" />
718    <text
719       xml:space="preserve"
720       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
721       x="434.3656"
722       y="502.33414"
723       id="text5116"><tspan
724         sodipodi:role="line"
725         x="434.3656"
726         y="502.33414"
727         id="tspan5293">used entries in ring</tspan></text>
728    <text
729       xml:space="preserve"
730       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
731       x="78.791893"
732       y="466.47369"
733       id="text5261"><tspan
734         sodipodi:role="line"
735         id="tspan5263"
736         x="78.791893"
737         y="466.47369">size = 16384</tspan><tspan
738         sodipodi:role="line"
739         x="78.791893"
740         y="478.97369"
741         id="tspan5291">mask = 16383</tspan><tspan
742         sodipodi:role="line"
743         x="78.791893"
744         y="491.47369"
745         id="tspan5289">ph = pt = 14000</tspan><tspan
746         sodipodi:role="line"
747         x="78.791893"
748         y="503.97369"
749         id="tspan5265">ct = ch = 3000</tspan><tspan
750         sodipodi:role="line"
751         x="78.791893"
752         y="516.47369"
753         id="tspan5267">used_entries = (pt - ch) % 65536 = 11000</tspan><tspan
754         sodipodi:role="line"
755         x="78.791893"
756         y="528.97369"
757         id="tspan5287">free_entries = (mask + ct - ph) % 65536 = 5383</tspan></text>
758    <path
759       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)"
760       d="m 324.78109,452.09355 20.16896,0"
761       id="path5384"
762       sodipodi:nodetypes="cc"
763       inkscape:connector-curvature="0" />
764    <text
765       xml:space="preserve"
766       style="font-size:4.97793007px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
767       x="323.23074"
768       y="458.94891"
769       id="text5962"><tspan
770         sodipodi:role="line"
771         id="tspan5964"
772         x="323.23074"
773         y="458.94891">used_entries</tspan></text>
774  </g>
775</svg>
776