<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Personal Musings for Public Consumption - C/C++</title>
    <link>http://sean.chittenden.org/</link>
    <description>Sean's Digital Dumping Ground For Public Information</description>
    <dc:language>en</dc:language>
    <generator>Serendipity  - http://www.s9y.org/</generator>
    <pubDate>Mon, 21 Jan 2008 23:43:00 GMT</pubDate>

    <image>
        <url>http://sean.chittenden.org/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Personal Musings for Public Consumption - C/C++ - Sean's Digital Dumping Ground For Public Information</title>
        <link>http://sean.chittenden.org/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>sum(STM &gt; mutex &gt; CAS) == unstupid things</title>
    <link>http://sean.chittenden.org/archives/2008/01/21/268/sumSTM-mutex-CAS-unstupid-things.html</link>
            <category>C/C++</category>
    
    <comments>http://sean.chittenden.org/archives/2008/01/21/268/sumSTM-mutex-CAS-unstupid-things.html#comments</comments>
    <wfw:comment>http://sean.chittenden.org/wfwcomment.php?cid=268</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://sean.chittenden.org/rss.php?version=2.0&amp;type=comments&amp;cid=268</wfw:commentRss>
    

    <author>nospam@example.com (Sean Chittenden)</author>
    <content:encoded>
    &lt;p&gt;Robert Ennals&#039;s &lt;a href=&quot;http://sean.chittenden.org/exit.php?url_id=46&amp;amp;entry_id=268&quot; title=&quot;http://berkeley.intel-research.net/rennals/pubs/052RobEnnals.pdf&quot;  onmouseover=&quot;window.status=&#039;http://berkeley.intel-research.net/rennals/pubs/052RobEnnals.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Software Transactional Memory Should Not Be Obstruction-Free&lt;/a&gt; is definitely unstupid and worth reading.  Same with Dave Dice, Ori Shalev, and Nir Shavit&#039;s paper on &lt;a href=&quot;http://sean.chittenden.org/exit.php?url_id=47&amp;amp;entry_id=268&quot; title=&quot;http://research.sun.com/scalable/pubs/DISC2006.pdf&quot;  onmouseover=&quot;window.status=&#039;http://research.sun.com/scalable/pubs/DISC2006.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Transactional Locking II&lt;/a&gt;.  Survey says?  Holy damn.  Use &amp;quot;per object transaction locking&amp;quot; models where possible and avoid the use of pthread_mutex_lock*, pthread_rwlock_rdlock*, and pthread_rwlock_wrlock* where possible.  &lt;a href=&quot;http://sean.chittenden.org/exit.php?url_id=48&amp;amp;entry_id=268&quot; title=&quot;http://en.wikipedia.org/wiki/Software_transactional_memory&quot;  onmouseover=&quot;window.status=&#039;http://en.wikipedia.org/wiki/Software_transactional_memory&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;STM&lt;/a&gt; makes pthreads* the &lt;a href=&quot;http://sean.chittenden.org/exit.php?url_id=49&amp;amp;entry_id=268&quot; title=&quot;http://www.youfail.org/&quot;  onmouseover=&quot;window.status=&#039;http://www.youfail.org/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;new fail&lt;/a&gt;.  For some idiotic reason, I was thinking/hoping that &lt;a href=&quot;http://sean.chittenden.org/exit.php?url_id=50&amp;amp;entry_id=268&quot; title=&quot;http://fxr.watson.org/fxr/source/sys/rwlock.h#L58&quot;  onmouseover=&quot;window.status=&#039;http://fxr.watson.org/fxr/source/sys/rwlock.h#L58&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;rwlock&lt;/a&gt;&#039;s would suck less than they apparently do.  &lt;a href=&quot;http://sean.chittenden.org/exit.php?url_id=51&amp;amp;entry_id=268&quot; title=&quot;http://en.wikipedia.org/wiki/Compare-and-swap&quot;  onmouseover=&quot;window.status=&#039;http://en.wikipedia.org/wiki/Compare-and-swap&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;CAS&lt;/a&gt;?  Eh, not quite worth the hassle yet.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 21 Jan 2008 15:43:00 -0800</pubDate>
    <guid isPermaLink="false">http://sean.chittenden.org/archives/2008/01/21/268/guid.html</guid>
    <category>cas</category>
<category>concurrency</category>
<category>mutex</category>
<category>programming</category>
<category>pthreads</category>
<category>stm</category>

</item>

</channel>
</rss>