<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Firmware-Specific Bug #5: Heap Fragmentation</title>
	<atom:link href="http://embeddedgurus.com/barr-code/2010/03/firmware-specific-bug-5-heap-fragmentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://embeddedgurus.com/barr-code/2010/03/firmware-specific-bug-5-heap-fragmentation/</link>
	<description>A Blog by Michael Barr</description>
	<lastBuildDate>Tue, 24 Jan 2012 21:58:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Firmware-Specific Bug #6: Memory Leak &#171; Barr Code</title>
		<link>http://embeddedgurus.com/barr-code/2010/03/firmware-specific-bug-5-heap-fragmentation/comment-page-1/#comment-16795</link>
		<dc:creator>Firmware-Specific Bug #6: Memory Leak &#171; Barr Code</dc:creator>
		<pubDate>Fri, 28 Jan 2011 20:27:58 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/barr-code/?p=336#comment-16795</guid>
		<description>[...] Unlike fragmentation, memory leaks can happen even with fixed-size [...]</description>
		<content:encoded><![CDATA[<p>[...] Unlike fragmentation, memory leaks can happen even with fixed-size [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Notan</title>
		<link>http://embeddedgurus.com/barr-code/2010/03/firmware-specific-bug-5-heap-fragmentation/comment-page-1/#comment-12522</link>
		<dc:creator>Notan</dc:creator>
		<pubDate>Thu, 16 Dec 2010 19:51:29 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/barr-code/?p=336#comment-12522</guid>
		<description>There is another problem with heap fragmentation. The heap administration of a popular real-time system was structured as several lists of free fragments of increasing sizes.
The first list held small chunks of 12 to 28 bytes, in a system with plenty of memory (standard PC) the system significantly slowed down when it ran for several days. The problem was due to fragmentation, because the 12 to 60 byte list had some thousand 12 byte chunks at the beginning resulting in a lengthy loop, whenever a chunk of 20 byte was allocated.</description>
		<content:encoded><![CDATA[<p>There is another problem with heap fragmentation. The heap administration of a popular real-time system was structured as several lists of free fragments of increasing sizes.<br />
The first list held small chunks of 12 to 28 bytes, in a system with plenty of memory (standard PC) the system significantly slowed down when it ran for several days. The problem was due to fragmentation, because the 12 to 60 byte list had some thousand 12 byte chunks at the beginning resulting in a lengthy loop, whenever a chunk of 20 byte was allocated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Boudewijn</title>
		<link>http://embeddedgurus.com/barr-code/2010/03/firmware-specific-bug-5-heap-fragmentation/comment-page-1/#comment-212</link>
		<dc:creator>Boudewijn</dc:creator>
		<pubDate>Tue, 23 Mar 2010 16:35:31 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/barr-code/?p=336#comment-212</guid>
		<description>All data structures created via C’s malloc() standard library routine or C++’s new keyword _DO_NOT_NECESSARILY_ live on the heap! They live on whatever the C/C++ library implementer chose to implement. In some cases, they actually do use the RTOS&#039; memory pool API, which can be fixed-size chunks, or a limited number of sizes, tuned to the application.</description>
		<content:encoded><![CDATA[<p>All data structures created via C’s malloc() standard library routine or C++’s new keyword _DO_NOT_NECESSARILY_ live on the heap! They live on whatever the C/C++ library implementer chose to implement. In some cases, they actually do use the RTOS&#8217; memory pool API, which can be fixed-size chunks, or a limited number of sizes, tuned to the application.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

