xref: /dpdk/doc/guides/prog_guide/img/malloc_heap.svg (revision b31739328354b1f4068fc24cceb3f06434d19b74)
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3<!-- Generated by Microsoft Visio, SVG Export malloc_heap.svg Page-1 -->
4<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
5		width="11in" height="8.5in" viewBox="0 0 792 612" xml:space="preserve" color-interpolation-filters="sRGB" class="st34">
6	<style type="text/css">
7	<![CDATA[
8		.st1 {visibility:visible}
9		.st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
10		.st3 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
11		.st4 {fill:#deebf6;stroke:#c7c8c8;stroke-width:0.25}
12		.st5 {fill:#ed7d31;stroke:#c7c8c8;stroke-width:0.25}
13		.st6 {fill:#fbe5d5;stroke:#c7c8c8;stroke-width:0.25}
14		.st7 {fill:#e2efd9;stroke:#c7c8c8;stroke-width:0.25}
15		.st8 {fill:#a8d08d;stroke:#c7c8c8;stroke-width:0.25}
16		.st9 {fill:url(#ptrn2-71);shape-rendering:crispEdges;stroke:#c7c8c8;stroke-width:0.25}
17		.st10 {fill:#5b9bd5;stroke:#2e75b5;stroke-width:0.25}
18		.st11 {fill:none;stroke:none;stroke-width:0.25}
19		.st12 {fill:#000000;font-family:Calibri;font-size:1.00001em}
20		.st13 {fill:#ed7d31;stroke:#2e75b5;stroke-width:0.25}
21		.st14 {fill:#deebf6;stroke:#2e75b5;stroke-width:0.25}
22		.st15 {fill:#fbe5d5;stroke:#2e75b5;stroke-width:0.25}
23		.st16 {fill:#a8d08d;stroke:#2e75b5;stroke-width:0.25}
24		.st17 {fill:#e2efd9;stroke:#2e75b5;stroke-width:0.25}
25		.st18 {fill:url(#ptrn2-71);shape-rendering:crispEdges;stroke:#2e75b5;stroke-width:0.25}
26		.st19 {fill:#f4b183;stroke:#4f87bb;stroke-width:0.75}
27		.st20 {fill:#305497;font-family:Calibri;font-size:0.833336em}
28		.st21 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
29		.st22 {fill:#538135;stroke:#40709c;stroke-width:0.75}
30		.st23 {fill:#e2efd9;font-family:Calibri;font-size:0.833336em}
31		.st24 {marker-end:url(#mrkr10-146);marker-start:url(#mrkr10-144);stroke:#70ad47;stroke-width:0.75}
32		.st25 {fill:#70ad47;fill-opacity:1;stroke:#70ad47;stroke-opacity:1;stroke-width:0.22935779816514}
33		.st26 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
34		.st27 {fill:#538135;font-family:Calibri;font-size:1.00001em}
35		.st28 {fill:#ffffff;stroke:none;stroke-linecap:butt}
36		.st29 {fill:#bdd7ee;stroke:#40709c;stroke-width:0.75}
37		.st30 {fill:#1e4e79;font-family:Calibri;font-size:0.833336em}
38		.st31 {marker-end:url(#mrkr5-171);stroke:#4f87bb;stroke-dasharray:11.25,6.75;stroke-width:0.75}
39		.st32 {fill:#4f87bb;fill-opacity:1;stroke:#4f87bb;stroke-opacity:1;stroke-width:0.22935779816514}
40		.st33 {fill:#1e4e79;font-family:Calibri;font-size:1.00001em}
41		.st34 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
42	]]>
43	</style>
44
45	<defs id="Patterns_And_Gradients">
46		<pattern id="ptrn2-71" patternUnits="userSpaceOnUse" width="6" height="6" viewBox="0 0 64 64">
47			<image x="0" y="0" width="64" height="64" image-rendering="optimizeSpeed"
48					xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA7SURBVChTY/i3f7/Pv3//MDFIXETEhwGfJIjGVIAkCeKjKkCTRFWARRKhAIckRAEeSYgCPJL/9u/3AQC1aLsBz7wFUwAAAABJRU5ErkJggg=="/>
49		</pattern>
50		<linearGradient id="grad0-168" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
51			<stop offset="0" stop-color="#e9eff7" stop-opacity="1"/>
52			<stop offset="0.24" stop-color="#f4f7fb" stop-opacity="1"/>
53			<stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
54		</linearGradient>
55	</defs>
56	<defs id="Markers">
57		<g id="lend10">
58			<path
59					d="M 0 0.75 C -0.414214 0.75 -0.75 0.414214 -0.75 0 -0.75 -0.414214 -0.414214 -0.75 0 -0.75 0.414214 -0.75 0.75 -0.414214 0.75 0 0.75 0.414214 0.414214 0.75 0 0.75 Z "
60					style="stroke:none"/>
61		</g>
62		<marker id="mrkr10-144" class="st25" refX="2.79" orient="auto" markerUnits="strokeWidth" overflow="visible">
63			<use xlink:href="#lend10" transform="scale(4.36) "/>
64		</marker>
65		<marker id="mrkr10-146" class="st25" refX="-2.79" orient="auto" markerUnits="strokeWidth" overflow="visible">
66			<use xlink:href="#lend10" transform="scale(-4.36,-4.36) "/>
67		</marker>
68		<g id="lend5">
69			<path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
70		</g>
71		<marker id="mrkr5-171" class="st32" refX="-7.15" orient="auto" markerUnits="strokeWidth" overflow="visible">
72			<use xlink:href="#lend5" transform="scale(-4.36,-4.36) "/>
73		</marker>
74	</defs>
75	<defs id="Filters">
76		<filter id="filter_2">
77			<feGaussianBlur stdDeviation="2"/>
78		</filter>
79	</defs>
80	<g>
81		<title>Page-1</title>
82		<g id="group14-1" transform="translate(45,-360)">
83			<title>Sheet.14</title>
84			<g id="shape3-2">
85				<title>Sheet.3</title>
86				<g id="shadow3-3" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
87					<rect x="0" y="531" width="18" height="81" class="st2"/>
88				</g>
89				<rect x="0" y="531" width="18" height="81" class="st3"/>
90			</g>
91			<g id="shape4-7" transform="translate(18,0)">
92				<title>Sheet.4</title>
93				<g id="shadow4-8" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
94					<rect x="0" y="531" width="117" height="81" class="st2"/>
95				</g>
96				<rect x="0" y="531" width="117" height="81" class="st4"/>
97			</g>
98		</g>
99		<g id="group15-12" transform="translate(180,-360)">
100			<title>Sheet.15</title>
101			<g id="shape5-13">
102				<title>Sheet.5</title>
103				<g id="shadow5-14" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
104					<rect x="0" y="531" width="18" height="81" class="st2"/>
105				</g>
106				<rect x="0" y="531" width="18" height="81" class="st5"/>
107			</g>
108			<g id="shape6-18" transform="translate(18,0)">
109				<title>Sheet.6</title>
110				<g id="shadow6-19" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
111					<rect x="0" y="531" width="117" height="81" class="st2"/>
112				</g>
113				<rect x="0" y="531" width="117" height="81" class="st6"/>
114			</g>
115		</g>
116		<g id="shape7-23" transform="translate(612,-360)">
117			<title>Sheet.7</title>
118			<g id="shadow7-24" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
119				<rect x="0" y="531" width="18" height="81" class="st2"/>
120			</g>
121			<rect x="0" y="531" width="18" height="81" class="st5"/>
122		</g>
123		<g id="shape10-28" transform="translate(630,-360)">
124			<title>Sheet.10</title>
125			<g id="shadow10-29" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
126				<rect x="0" y="531" width="51.75" height="81" class="st2"/>
127			</g>
128			<rect x="0" y="531" width="51.75" height="81" class="st7"/>
129		</g>
130		<g id="shape12-33" transform="translate(681.75,-360)">
131			<title>Sheet.12</title>
132			<g id="shadow12-34" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
133				<rect x="0" y="531" width="18" height="81" class="st2"/>
134			</g>
135			<rect x="0" y="531" width="18" height="81" class="st8"/>
136		</g>
137		<g id="shape13-38" transform="translate(699.75,-360)">
138			<title>Sheet.13</title>
139			<g id="shadow13-39" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
140				<rect x="0" y="531" width="47.25" height="81" class="st2"/>
141			</g>
142			<rect x="0" y="531" width="47.25" height="81" class="st6"/>
143		</g>
144		<g id="group29-43" transform="translate(315,-360)">
145			<title>Sheet.29</title>
146			<g id="shape23-44">
147				<title>Sheet.23</title>
148				<g id="shadow23-45" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
149					<rect x="0" y="531" width="18" height="81" class="st2"/>
150				</g>
151				<rect x="0" y="531" width="18" height="81" class="st3"/>
152			</g>
153			<g id="shape24-49" transform="translate(18,0)">
154				<title>Sheet.24</title>
155				<g id="shadow24-50" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
156					<rect x="0" y="531" width="36" height="81" class="st2"/>
157				</g>
158				<rect x="0" y="531" width="36" height="81" class="st4"/>
159			</g>
160		</g>
161		<g id="group30-54" transform="translate(477,-360)">
162			<title>Sheet.30</title>
163			<g id="shape27-55">
164				<title>Sheet.27</title>
165				<g id="shadow27-56" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
166					<rect x="0" y="531" width="18" height="81" class="st2"/>
167				</g>
168				<rect x="0" y="531" width="18" height="81" class="st3"/>
169			</g>
170			<g id="shape28-60" transform="translate(18,0)">
171				<title>Sheet.28</title>
172				<g id="shadow28-61" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
173					<rect x="0" y="531" width="117" height="81" class="st2"/>
174				</g>
175				<rect x="0" y="531" width="117" height="81" class="st4"/>
176			</g>
177		</g>
178		<g id="shape31-65" transform="translate(369,-360)">
179			<title>Sheet.31</title>
180			<g id="shadow31-66" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
181				<rect x="0" y="531" width="108" height="81" class="st2"/>
182			</g>
183			<rect x="0" y="531" width="108" height="81" class="st9"/>
184		</g>
185		<g id="shape32-72" transform="translate(184.5,-260)">
186			<title>Sheet.32</title>
187			<g id="shadow32-73" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
188				<rect x="0" y="594" width="63" height="18" class="st2"/>
189			</g>
190			<rect x="0" y="594" width="63" height="18" class="st10"/>
191		</g>
192		<g id="shape39-77" transform="translate(252,-259)">
193			<title>Sheet.39</title>
194			<desc>Free element header</desc>
195			<rect x="0" y="592" width="135" height="20" class="st11"/>
196			<text x="4" y="605.6" class="st12">Free element header</text>		</g>
197		<g id="shape43-80" transform="translate(184.5,-232)">
198			<title>Sheet.43</title>
199			<g id="shadow43-81" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
200				<rect x="0" y="594" width="63" height="18" class="st2"/>
201			</g>
202			<rect x="0" y="594" width="63" height="18" class="st13"/>
203		</g>
204		<g id="shape44-85" transform="translate(252,-231)">
205			<title>Sheet.44</title>
206			<desc>Used element header</desc>
207			<rect x="0" y="592" width="135" height="20" class="st11"/>
208			<text x="4" y="605.6" class="st12">Used element header</text>		</g>
209		<g id="shape46-88" transform="translate(409.5,-260)">
210			<title>Sheet.46</title>
211			<g id="shadow46-89" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
212				<rect x="0" y="594" width="63" height="18" class="st2"/>
213			</g>
214			<rect x="0" y="594" width="63" height="18" class="st14"/>
215		</g>
216		<g id="shape47-93" transform="translate(477,-259)">
217			<title>Sheet.47</title>
218			<desc>Free space</desc>
219			<rect x="0" y="592" width="135" height="20" class="st11"/>
220			<text x="4" y="605.6" class="st12">Free space</text>		</g>
221		<g id="shape49-96" transform="translate(409.5,-232)">
222			<title>Sheet.49</title>
223			<g id="shadow49-97" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
224				<rect x="0" y="594" width="63" height="18" class="st2"/>
225			</g>
226			<rect x="0" y="594" width="63" height="18" class="st15"/>
227		</g>
228		<g id="shape50-101" transform="translate(477,-231)">
229			<title>Sheet.50</title>
230			<desc>Allocated data</desc>
231			<rect x="0" y="592" width="135" height="20" class="st11"/>
232			<text x="4" y="605.6" class="st12">Allocated data</text>		</g>
233		<g id="shape52-104" transform="translate(184.5,-204)">
234			<title>Sheet.52</title>
235			<g id="shadow52-105" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
236				<rect x="0" y="594" width="63" height="18" class="st2"/>
237			</g>
238			<rect x="0" y="594" width="63" height="18" class="st16"/>
239		</g>
240		<g id="shape53-109" transform="translate(252,-203)">
241			<title>Sheet.53</title>
242			<desc>Pad element header</desc>
243			<rect x="0" y="592" width="135" height="20" class="st11"/>
244			<text x="4" y="605.6" class="st12">Pad element header</text>		</g>
245		<g id="shape62-112" transform="translate(409.5,-204)">
246			<title>Sheet.62</title>
247			<g id="shadow62-113" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
248				<rect x="0" y="594" width="63" height="18" class="st2"/>
249			</g>
250			<rect x="0" y="594" width="63" height="18" class="st17"/>
251		</g>
252		<g id="shape63-117" transform="translate(477,-203)">
253			<title>Sheet.63</title>
254			<desc>Padding</desc>
255			<rect x="0" y="592" width="135" height="20" class="st11"/>
256			<text x="4" y="605.6" class="st12">Padding</text>		</g>
257		<g id="shape65-120" transform="translate(184.5,-176)">
258			<title>Sheet.65</title>
259			<g id="shadow65-121" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
260				<rect x="0" y="594" width="63" height="18" class="st2"/>
261			</g>
262			<rect x="0" y="594" width="63" height="18" class="st18"/>
263		</g>
264		<g id="shape66-126" transform="translate(252,-175)">
265			<title>Sheet.66</title>
266			<desc>Unavailable space</desc>
267			<rect x="0" y="592" width="135" height="20" class="st11"/>
268			<text x="4" y="605.6" class="st12">Unavailable space</text>		</g>
269		<g id="shape97-129" transform="translate(612,-375.75)">
270			<title>Simple Double Arrow</title>
271			<desc>size</desc>
272			<path d="M0 612 L18 598.5 L18 605.25 L117 605.25 L117 598.5 L135 612 L117 625.5 L117 618.75 L18 618.75 L18 625.5 L0 612
273						 Z" class="st19"/>
274			<text x="59.93" y="615" class="st20">size</text>		</g>
275		<g id="shape99-132" transform="translate(630,-400.5)">
276			<title>Simple Double Arrow.99</title>
277			<desc>pad</desc>
278			<g id="shadow99-133" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
279				<path d="M0 612 L12 600 L12 606 L57.75 606 L57.75 600 L69.75 612 L57.75 624 L57.75 618 L12 618 L12 624 L0 612 Z"
280						class="st21"/>
281			</g>
282			<path d="M0 612 L12 600 L12 606 L57.75 606 L57.75 600 L69.75 612 L57.75 624 L57.75 618 L12 618 L12 624 L0 612 Z"
283					class="st22"/>
284			<text x="27.23" y="615" class="st23">pad</text>		</g>
285		<g id="shape113-138" transform="translate(54,-337.5)">
286			<title>Sheet.113</title>
287			<desc>prev/next</desc>
288			<path d="M134.64 591.56 L134.58 591.92 A72 22.5 0 0 1 63 612 A63 22.5 0 0 1 0.37 591.92 L0.31 591.57" class="st24"/>
289			<rect x="43.4968" y="593.55" width="48.0064" height="14.4001" class="st26"/>
290			<text x="43.5" y="604.35" class="st27">prev/next</text>		</g>
291		<g id="shape115-149" transform="translate(324,-337.5)">
292			<title>Sheet.115</title>
293			<desc>prev/next</desc>
294			<path d="M0.44 591.55 L0.51 591.9 A90 22.5 -180 0 0 90 612 A72 22.5 -180 0 0 161.58 591.92 L161.64 591.56" class="st24"/>
295			<rect x="56.9968" y="593.55" width="48.0064" height="14.4001" class="st28"/>
296			<text x="57" y="604.35" class="st27">prev/next</text>		</g>
297		<g id="shape118-158" transform="translate(315,-390.375)">
298			<title>Simple Double Arrow.118</title>
299			<desc>size</desc>
300			<g id="shadow118-159" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
301				<path d="M0 612 L12 600 L12 606 L42 606 L42 600 L54 612 L42 624 L42 618 L12 618 L12 624 L0 612 Z" class="st21"/>
302			</g>
303			<path d="M0 612 L12 600 L12 606 L42 606 L42 600 L54 612 L42 624 L42 618 L12 618 L12 624 L0 612 Z" class="st29"/>
304			<text x="19.43" y="615" class="st30">size</text>		</g>
305		<g id="shape119-164" transform="translate(54,-441)">
306			<title>Sheet.119</title>
307			<desc>next free</desc>
308			<path d="M-0 612 A135 22.5 0 0 1 135 589.5 A134.606 21.534 0 0 1 266.35 606.33 L266.56 606.62" class="st31"/>
309			<rect x="112.807" y="593.55" width="43.9926" height="14.4001" class="st26"/>
310			<text x="112.81" y="604.35" class="st33">next free</text>		</g>
311		<g id="shape120-174" transform="translate(323.739,-441.34)">
312			<title>Sheet.120</title>
313			<desc>next free</desc>
314			<path d="M0.24 612 A78.4445 18.5592 178.15 0 1 72.26 589.84 A81.2523 26.5101 179.07 0 1 159.23 607.01 L159.43 607.31"
315					class="st31"/>
316			<rect x="59.193" y="593.55" width="43.9926" height="14.4001" class="st28"/>
317			<text x="59.19" y="604.35" class="st33">next free</text>		</g>
318		<g id="shape122-182" transform="translate(189,-337.5)">
319			<title>Sheet.122</title>
320			<desc>prev/next</desc>
321			<path d="M0.33 591.57 L0.39 591.92 A67.5 22.5 -180 0 0 67.5 612 A69.1875 22.5 -180 0 0 136.29 591.92 L136.35 591.56"
322					class="st24"/>
323			<rect x="44.3405" y="593.55" width="48.0064" height="14.4001" class="st26"/>
324			<text x="44.34" y="604.35" class="st27">prev/next</text>		</g>
325		<g id="shape123-191" transform="translate(486.563,-337.5)">
326			<title>Sheet.123</title>
327			<desc>prev/next</desc>
328			<path d="M0.35 591.56 L0.41 591.92 A71.4375 22.5 -180 0 0 71.44 612 A63 22.5 -180 0 0 134.07 591.92 L134.12 591.57"
329					class="st24"/>
330			<rect x="43.2155" y="593.55" width="48.0064" height="14.4001" class="st26"/>
331			<text x="43.22" y="604.35" class="st27">prev/next</text>		</g>
332	</g>
333</svg>
334