<?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 for Observations from Uppsala</title>
	<atom:link href="http://jakob.engbloms.se/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://jakob.engbloms.se</link>
	<description>Computer Technology: Simulation, Virtualization, Virtual Platforms, Embedded, Multicore and Multiprocessing (by Jakob Engblom)</description>
	<lastBuildDate>Thu, 12 Jan 2012 21:54:16 -0800</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Reverse History Part Three &#8211; Products by qwerty</title>
		<link>http://jakob.engbloms.se/archives/1564/comment-page-1#comment-3341</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Thu, 12 Jan 2012 21:54:16 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1564#comment-3341</guid>
		<description>Do you know a good EU provider for electronic components?
-microprocessors
-led displays
-PCB boards
-diodes
-capacitors
-connectors
-etc...

Just to have something to actually debug on.
Thank you.</description>
		<content:encoded><![CDATA[<p>Do you know a good EU provider for electronic components?<br />
-microprocessors<br />
-led displays<br />
-PCB boards<br />
-diodes<br />
-capacitors<br />
-connectors<br />
-etc&#8230;</p>
<p>Just to have something to actually debug on.<br />
Thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reverse History Part One by Jakob</title>
		<link>http://jakob.engbloms.se/archives/1547/comment-page-1#comment-3339</link>
		<dc:creator>Jakob</dc:creator>
		<pubDate>Mon, 09 Jan 2012 19:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1547#comment-3339</guid>
		<description>&lt;a href=&quot;#comment-3338&quot; rel=&quot;nofollow&quot;&gt;@balor123&lt;/a&gt; 
I think it can be very practical - the gdb implementation isn&#039;t particularly fast or optimized, but that is just one implementation among many. Some are way faster. 

What kind of checkpointing were you referring to?</description>
		<content:encoded><![CDATA[<p><a href="#comment-3338" rel="nofollow">@balor123</a><br />
I think it can be very practical &#8211; the gdb implementation isn&#8217;t particularly fast or optimized, but that is just one implementation among many. Some are way faster. </p>
<p>What kind of checkpointing were you referring to?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reverse History Part One by balor123</title>
		<link>http://jakob.engbloms.se/archives/1547/comment-page-1#comment-3338</link>
		<dc:creator>balor123</dc:creator>
		<pubDate>Mon, 09 Jan 2012 15:49:48 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1547#comment-3338</guid>
		<description>Reverse debugging just isn&#039;t practical. At least with GDB, it&#039;s very slow, limited in functionality, and buggy. I use checkpointing all the time though.</description>
		<content:encoded><![CDATA[<p>Reverse debugging just isn&#8217;t practical. At least with GDB, it&#8217;s very slow, limited in functionality, and buggy. I use checkpointing all the time though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reverse History Part Three &#8211; Products by Observations from Uppsala &#187; Reverse History Part One</title>
		<link>http://jakob.engbloms.se/archives/1564/comment-page-1#comment-3337</link>
		<dc:creator>Observations from Uppsala &#187; Reverse History Part One</dc:creator>
		<pubDate>Sun, 08 Jan 2012 20:01:35 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1564#comment-3337</guid>
		<description>[...] so long that I had to break it up to make each post usefully short. Part two is about research, and part three about [...]</description>
		<content:encoded><![CDATA[<p>[...] so long that I had to break it up to make each post usefully short. Part two is about research, and part three about [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on VMM Detection Myths and Realities from a Simics and Embedded Perspective by Observations from Uppsala &#187; Reverse History Part Three &#8211; Products</title>
		<link>http://jakob.engbloms.se/archives/97/comment-page-1#comment-3336</link>
		<dc:creator>Observations from Uppsala &#187; Reverse History Part Three &#8211; Products</dc:creator>
		<pubDate>Sun, 08 Jan 2012 19:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=97#comment-3336</guid>
		<description>[...] an intrusion effect from running on a simulator rather than on a physical machine. This affects the timing of events, even with a software stack that is not modified. Still, the fact that you can run a complete real [...]</description>
		<content:encoded><![CDATA[<p>[...] an intrusion effect from running on a simulator rather than on a physical machine. This affects the timing of events, even with a software stack that is not modified. Still, the fact that you can run a complete real [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reverse History Part Two &#8211; Research by Observations from Uppsala &#187; Reverse History Part Three &#8211; Products</title>
		<link>http://jakob.engbloms.se/archives/1554/comment-page-1#comment-3335</link>
		<dc:creator>Observations from Uppsala &#187; Reverse History Part Three &#8211; Products</dc:creator>
		<pubDate>Sun, 08 Jan 2012 19:52:46 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1554#comment-3335</guid>
		<description>[...] not just research prototypes. Part one of this series provided a background on the technology and part two discussed various research papers on the topic going back to the early 1970s. The first commercial [...]</description>
		<content:encoded><![CDATA[<p>[...] not just research prototypes. Part one of this series provided a background on the technology and part two discussed various research papers on the topic going back to the early 1970s. The first commercial [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reverse History Part One by Observations from Uppsala &#187; Reverse History Part Three &#8211; Products</title>
		<link>http://jakob.engbloms.se/archives/1547/comment-page-1#comment-3334</link>
		<dc:creator>Observations from Uppsala &#187; Reverse History Part Three &#8211; Products</dc:creator>
		<pubDate>Sun, 08 Jan 2012 19:52:30 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1547#comment-3334</guid>
		<description>[...] reverse debugging available in a commercially packaged product and not just research prototypes. Part one of this series provided a background on the technology and part two discussed various research [...]</description>
		<content:encoded><![CDATA[<p>[...] reverse debugging available in a commercially packaged product and not just research prototypes. Part one of this series provided a background on the technology and part two discussed various research [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reverse History Part Two &#8211; Research by Observations from Uppsala &#187; Reverse History Part One</title>
		<link>http://jakob.engbloms.se/archives/1554/comment-page-1#comment-3333</link>
		<dc:creator>Observations from Uppsala &#187; Reverse History Part One</dc:creator>
		<pubDate>Sun, 08 Jan 2012 19:51:31 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1554#comment-3333</guid>
		<description>[...] The text turned out to be so long that I had to break it up to make each post usefully short. Part two is about research, and part three about [...]</description>
		<content:encoded><![CDATA[<p>[...] The text turned out to be so long that I had to break it up to make each post usefully short. Part two is about research, and part three about [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Keynote on System-Level Debug by qwerty</title>
		<link>http://jakob.engbloms.se/archives/1568/comment-page-1#comment-3329</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Tue, 03 Jan 2012 12:06:20 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1568#comment-3329</guid>
		<description>Also sometimes is hardware which malfunctions due to environment factors ( temperature , moisture, oldage ).
I recently shopped around for an SSD drive. The MTBF published by the manufacturer is 2 million hours. That in years is 250.
250 continuous usage years! You need to keep it inside the functional envelope though otherwise it will eventually break suddenly and/or sooner.
In conclusion : once software is groomed and bug free it will run almost forever.</description>
		<content:encoded><![CDATA[<p>Also sometimes is hardware which malfunctions due to environment factors ( temperature , moisture, oldage ).<br />
I recently shopped around for an SSD drive. The MTBF published by the manufacturer is 2 million hours. That in years is 250.<br />
250 continuous usage years! You need to keep it inside the functional envelope though otherwise it will eventually break suddenly and/or sooner.<br />
In conclusion : once software is groomed and bug free it will run almost forever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Keynote on System-Level Debug by qwerty</title>
		<link>http://jakob.engbloms.se/archives/1568/comment-page-1#comment-3328</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Tue, 03 Jan 2012 07:03:12 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1568#comment-3328</guid>
		<description>Once a defect/bug is discovered you will have to fix/change the code, recompile and rerun.
You repeat these steps until no more misbehavior is perceived.
The more code you wrote the more less errors are in your first release.
One more thing : the correct behavior is mainly know to the software design team ; what can be perceived as a bug could have been an as-it-is feature.</description>
		<content:encoded><![CDATA[<p>Once a defect/bug is discovered you will have to fix/change the code, recompile and rerun.<br />
You repeat these steps until no more misbehavior is perceived.<br />
The more code you wrote the more less errors are in your first release.<br />
One more thing : the correct behavior is mainly know to the software design team ; what can be perceived as a bug could have been an as-it-is feature.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on SonyEricsson G900 &#8211; My New Phone, a Review (updated) by Observations from Uppsala &#187; Touch the Screen vs Press a Button</title>
		<link>http://jakob.engbloms.se/archives/310/comment-page-1#comment-3317</link>
		<dc:creator>Observations from Uppsala &#187; Touch the Screen vs Press a Button</dc:creator>
		<pubDate>Mon, 26 Dec 2011 09:10:55 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=310#comment-3317</guid>
		<description>[...] Nano 3G, and a couple of iPod Touches. I used to have SonyEricsson Symbian-based P900, P990i, and G900 smart phones which also were combined touch/press devices with a [...]</description>
		<content:encoded><![CDATA[<p>[...] Nano 3G, and a couple of iPod Touches. I used to have SonyEricsson Symbian-based P900, P990i, and G900 smart phones which also were combined touch/press devices with a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Off-Topic: Video in the iPod Nano (Update, updated once) by Observations from Uppsala &#187; Touch the Screen vs Press a Button</title>
		<link>http://jakob.engbloms.se/archives/28/comment-page-1#comment-3316</link>
		<dc:creator>Observations from Uppsala &#187; Touch the Screen vs Press a Button</dc:creator>
		<pubDate>Mon, 26 Dec 2011 09:02:54 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/archives/28#comment-3316</guid>
		<description>[...] conflict between touching the screen and pressing the buttons. At the same time, I am using both an iPod Nano 3G, and a couple of iPod Touches. I used to have SonyEricsson Symbian-based P900, P990i, and G900 [...]</description>
		<content:encoded><![CDATA[<p>[...] conflict between touching the screen and pressing the buttons. At the same time, I am using both an iPod Nano 3G, and a couple of iPod Touches. I used to have SonyEricsson Symbian-based P900, P990i, and G900 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dekker&#8217;s Algorithm Does not Work, as Expected by Jakob</title>
		<link>http://jakob.engbloms.se/archives/65/comment-page-1#comment-3292</link>
		<dc:creator>Jakob</dc:creator>
		<pubDate>Sun, 27 Nov 2011 09:53:13 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/archives/65#comment-3292</guid>
		<description>Getting a deadlock is kind of unexpected. Tying each thread to a core should make the error occur more often, as we are not at the mercy of OS scheduling then. But it is strange that it deadlocks, as nothing in this code should be able to spin forever.  I would suggest attaching a gdb to the process and intercepting it to see what it is doing.  Is it spinning in user land or is it off in the kernel somewhere?</description>
		<content:encoded><![CDATA[<p>Getting a deadlock is kind of unexpected. Tying each thread to a core should make the error occur more often, as we are not at the mercy of OS scheduling then. But it is strange that it deadlocks, as nothing in this code should be able to spin forever.  I would suggest attaching a gdb to the process and intercepting it to see what it is doing.  Is it spinning in user land or is it off in the kernel somewhere?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Debug, Design, and Microsoft Data by qwerty</title>
		<link>http://jakob.engbloms.se/archives/1527/comment-page-1#comment-3286</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Mon, 21 Nov 2011 13:19:23 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1527#comment-3286</guid>
		<description>&quot;At least it seems to me that Windows is more stable today
than it was a couple of years ago.&quot; - Well said
Windows 7 freezed on me only one time in like 2 1/2 years.
Linux desktop is a joke and Android crashes even in the simulator.
When i experienced a planned maintenance electrical power outage recently it felt weird.
The silence and darkness were refreshing. I started to long the preelectricity days : no constant humming or blinking, everything organic without a button in sight.</description>
		<content:encoded><![CDATA[<p>&#8220;At least it seems to me that Windows is more stable today<br />
than it was a couple of years ago.&#8221; &#8211; Well said<br />
Windows 7 freezed on me only one time in like 2 1/2 years.<br />
Linux desktop is a joke and Android crashes even in the simulator.<br />
When i experienced a planned maintenance electrical power outage recently it felt weird.<br />
The silence and darkness were refreshing. I started to long the preelectricity days : no constant humming or blinking, everything organic without a button in sight.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dekker&#8217;s Algorithm Does not Work, as Expected by liu</title>
		<link>http://jakob.engbloms.se/archives/65/comment-page-1#comment-3284</link>
		<dc:creator>liu</dc:creator>
		<pubDate>Sun, 20 Nov 2011 14:40:41 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/archives/65#comment-3284</guid>
		<description>I got deadlock on my machine, even through I&#039;ve bind the two threads on one cpu core using sched_setaffinity routing.

My machine:
Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz 
8 cores</description>
		<content:encoded><![CDATA[<p>I got deadlock on my machine, even through I&#8217;ve bind the two threads on one cpu core using sched_setaffinity routing.</p>
<p>My machine:<br />
Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz<br />
8 cores</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Virtual Platforms for Late Hardware and the Winds of History by Observations from Uppsala &#187; DV* 30 Years</title>
		<link>http://jakob.engbloms.se/archives/180/comment-page-1#comment-3278</link>
		<dc:creator>Observations from Uppsala &#187; DV* 30 Years</dc:creator>
		<pubDate>Sun, 13 Nov 2011 20:32:57 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=180#comment-3278</guid>
		<description>[...] PNG), once again with no file extensions to hint at what is what. It underscores the importance of actual running programs and systems as a way to access our digital past. The data might all be there and readable, but with no software [...]</description>
		<content:encoded><![CDATA[<p>[...] PNG), once again with no file extensions to hint at what is what. It underscores the importance of actual running programs and systems as a way to access our digital past. The data might all be there and readable, but with no software [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dekker&#8217;s Algorithm Does not Work, as Expected by Jakob</title>
		<link>http://jakob.engbloms.se/archives/65/comment-page-1#comment-3270</link>
		<dc:creator>Jakob</dc:creator>
		<pubDate>Sat, 29 Oct 2011 17:20:18 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/archives/65#comment-3270</guid>
		<description>at http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html , __sync_synchronize is described as a &quot;full memory barrier&quot;. I.e., all memory operations before the barrier will complete before moving on. With two barriers like this in place, the execution is essentially serialized and the code will be &quot;correct&quot;.</description>
		<content:encoded><![CDATA[<p>at <a href="http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html" rel="nofollow">http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html</a> , __sync_synchronize is described as a &#8220;full memory barrier&#8221;. I.e., all memory operations before the barrier will complete before moving on. With two barriers like this in place, the execution is essentially serialized and the code will be &#8220;correct&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dekker&#8217;s Algorithm Does not Work, as Expected by Sven Almgren</title>
		<link>http://jakob.engbloms.se/archives/65/comment-page-1#comment-3269</link>
		<dc:creator>Sven Almgren</dc:creator>
		<pubDate>Wed, 26 Oct 2011 13:49:17 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/archives/65#comment-3269</guid>
		<description>I wounder if using __sync_synchronize() would make this &quot;correct&quot;? Right before while().


        turn  = 2;
        __sync_synchronize();
        while((flag2 ==  1) &amp;&amp; (turn == 2)) ;


        turn = 1;
        __sync_synchronize();
        while((flag1 ==  1) &amp;&amp; (turn == 1)) ;

or is it just luck that it works for me on an Intel Core i7? Have run it a few times with ./dekker 1000000000

/S</description>
		<content:encoded><![CDATA[<p>I wounder if using __sync_synchronize() would make this &#8220;correct&#8221;? Right before while().</p>
<p>        turn  = 2;<br />
        __sync_synchronize();<br />
        while((flag2 ==  1) &amp;&amp; (turn == 2)) ;</p>
<p>        turn = 1;<br />
        __sync_synchronize();<br />
        while((flag1 ==  1) &amp;&amp; (turn == 1)) ;</p>
<p>or is it just luck that it works for me on an Intel Core i7? Have run it a few times with ./dekker 1000000000</p>
<p>/S</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Power Architecture Conference München 2008 by Observations from Uppsala &#187; GPGPU for Instruction-Set Simulation &#8211; Maybe, Maybe not</title>
		<link>http://jakob.engbloms.se/archives/128/comment-page-1#comment-3251</link>
		<dc:creator>Observations from Uppsala &#187; GPGPU for Instruction-Set Simulation &#8211; Maybe, Maybe not</dc:creator>
		<pubDate>Sat, 08 Oct 2011 19:18:06 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=128#comment-3251</guid>
		<description>[...] missed that Simics, unique among instruction-accurate mainstream simulators, is parallel since version [...]</description>
		<content:encoded><![CDATA[<p>[...] missed that Simics, unique among instruction-accurate mainstream simulators, is parallel since version [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Adversarial Approach to Compilation by Jakob</title>
		<link>http://jakob.engbloms.se/archives/1504/comment-page-1#comment-3250</link>
		<dc:creator>Jakob</dc:creator>
		<pubDate>Sat, 08 Oct 2011 18:28:24 +0000</pubDate>
		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1504#comment-3250</guid>
		<description>&lt;blockquote cite=&quot;#commentbody-3246&quot;&gt;
&lt;strong&gt;&lt;a href=&quot;#comment-3246&quot; rel=&quot;nofollow&quot;&gt;John Regehr&lt;/a&gt; :&lt;/strong&gt; So anyway: tools are the answer and they lag far behind the compilers’ ability to exploit undefined behaviors.
&lt;/blockquote&gt;
Scary, but true. But the alternative, Ada-style restrictive behavior, is probably just as bad. A bit like memory consistency models - too rigid, and they are safe but slow. Too weak, and things are fast but impossible to use completely correctly.  We need some better-defined middle ground it seems.

Thanks for the information, interesting with the Spec behavior. As you say, not surprising.</description>
		<content:encoded><![CDATA[<blockquote cite="#commentbody-3246"><p>
<strong><a href="#comment-3246" rel="nofollow">John Regehr</a> :</strong> So anyway: tools are the answer and they lag far behind the compilers’ ability to exploit undefined behaviors.
</p></blockquote>
<p>Scary, but true. But the alternative, Ada-style restrictive behavior, is probably just as bad. A bit like memory consistency models &#8211; too rigid, and they are safe but slow. Too weak, and things are fast but impossible to use completely correctly.  We need some better-defined middle ground it seems.</p>
<p>Thanks for the information, interesting with the Spec behavior. As you say, not surprising.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

