<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Intel PCM - Is there mistake on atom? in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810460#M855</link>
    <description>&lt;P&gt;GHui,&lt;BR /&gt;&lt;BR /&gt;you are right. It seems it makes more senseto change the union structures as you proposed.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Roman&lt;/P&gt;</description>
    <pubDate>Wed, 15 Feb 2012 08:49:27 GMT</pubDate>
    <dc:creator>Roman_D_Intel</dc:creator>
    <dc:date>2012-02-15T08:49:27Z</dc:date>
    <item>
      <title>Intel PCM - Is there mistake on atom?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810457#M852</link>
      <description>On selevt, its setting is &lt;BR /&gt; coreEventDesc[0].event_number = ARCH_LLC_REFERENCE_EVTNR;&lt;BR /&gt; coreEventDesc[0].umask_value = ARCH_LLC_REFERENCE_UMASK;&lt;BR /&gt; coreEventDesc[1].event_number = ARCH_LLC_MISS_EVTNR;&lt;BR /&gt; coreEventDesc[1].umask_value = ARCH_LLC_MISS_UMASK;&lt;BR /&gt;&lt;BR /&gt;On &lt;A href="http://software.intel.com/en-us/articles/intel-performance-counter-monitor/"&gt;pcm&lt;/A&gt;, its setting is&lt;BR /&gt; msr-&amp;gt;read(IA32_PMC0, &amp;amp;cL3Miss); // for Atom mapped to ArchLLCRef field&lt;BR /&gt; msr-&amp;gt;read(IA32_PMC1, &amp;amp;cL3UnsharedHit); // for Atom mapped to ArchLLCMiss field&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I think pmc0 and pmc1 are mistake for each other. &lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 14 Feb 2012 03:17:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810457#M852</guid>
      <dc:creator>GHui</dc:creator>
      <dc:date>2012-02-14T03:17:47Z</dc:date>
    </item>
    <item>
      <title>Intel PCM - Is there mistake on atom?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810458#M853</link>
      <description>GHui,&lt;BR /&gt;&lt;BR /&gt;that is not a mistake. The variables are mapped to other names depending on architecture (using a C++ union):&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[cpp]    union {
        uint64 L3Miss;
        uint64 Event0;
        uint64 ArchLLCRef;
    };
    union {
        uint64 L3UnsharedHit;
        uint64 Event1;
        uint64 ArchLLCMiss;
    };[/cpp]&lt;/PRE&gt;&lt;BR /&gt;Thethe L3Miss and the ArchLLCRef are mapped to the same address and L3UnsharedHit/ArchLLCMissare both mapped to a different address. This is done to have the same class namefor objects storing event counts (*CounterState) on independently of the processor architecture and simultaneously save space by reusing the memory. The functions that compute cache metrics are using the ArchLLCRef/ArchLLCMiss names on Atom. In my opiniona different solution withseparate custom implementation classes for each architecture would add more complexity and explode the code size (many architectures have just a small differences that are easy to handle without a code bloat).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Roman</description>
      <pubDate>Tue, 14 Feb 2012 10:39:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810458#M853</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2012-02-14T10:39:04Z</dc:date>
    </item>
    <item>
      <title>Intel PCM - Is there mistake on atom?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810459#M854</link>
      <description>Thank you for your correcting.&lt;BR /&gt;The result that LLC_Miss/LLC_Ref is easy to understand. LLC_Miss/LLC_Ref means LLC miss ratio.&lt;BR /&gt;The perfevtsel0 is setting LLC_Reference event, while store value which read from pcm0 to cL3Miss, although it mapped to ArchLLCRef field. I'm really puzzled for this.&lt;BR /&gt;Is there any meaning that put L3Miss and ArchLLCRef to the same union, why not put L3Miss and ArchLLCMiss to the same union?</description>
      <pubDate>Wed, 15 Feb 2012 02:54:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810459#M854</guid>
      <dc:creator>GHui</dc:creator>
      <dc:date>2012-02-15T02:54:59Z</dc:date>
    </item>
    <item>
      <title>Intel PCM - Is there mistake on atom?</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810460#M855</link>
      <description>&lt;P&gt;GHui,&lt;BR /&gt;&lt;BR /&gt;you are right. It seems it makes more senseto change the union structures as you proposed.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Roman&lt;/P&gt;</description>
      <pubDate>Wed, 15 Feb 2012 08:49:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Intel-PCM-Is-there-mistake-on-atom/m-p/810460#M855</guid>
      <dc:creator>Roman_D_Intel</dc:creator>
      <dc:date>2012-02-15T08:49:27Z</dc:date>
    </item>
  </channel>
</rss>

