<?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 Re: Intel Thread Profiler thinks my DLL is Type System in Analyzers</title>
    <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847039#M2844</link>
    <description>Glad to hear you got it working.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;There are some API's to tell Thread Checker about synchronization. Look in the help under API Support -&amp;gt; User-Level Synchronization API. I don't know if it's possible to map this to the way your app is organized - perhaps you could treat each reference count as a "lock"?&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;</description>
    <pubDate>Thu, 07 Aug 2008 15:12:15 GMT</pubDate>
    <dc:creator>Mark_D_Intel</dc:creator>
    <dc:date>2008-08-07T15:12:15Z</dc:date>
    <item>
      <title>Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847033#M2838</link>
      <description>&lt;P&gt;So it only offers to instrument module imports. Other DLL's we load in the same folder are marked as 'User DLL's and I'm able to fully instrument them. Why does it think this one DLL is a system DLL? The app loading it is instrumented (All functions) and other DLL's I load give me the option of how much to instrument.&lt;/P&gt;
&lt;P&gt;I have tried renaming it, rebuilding it but I can't get it to instrument. Any ideas?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Andy&lt;/P&gt;</description>
      <pubDate>Tue, 05 Aug 2008 16:19:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847033#M2838</guid>
      <dc:creator>andy-glaister</dc:creator>
      <dc:date>2008-08-05T16:19:59Z</dc:date>
    </item>
    <item>
      <title>Re: Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847034#M2839</link>
      <description>The base address for the DLL is used to determine whether it is a system or user DLL.&lt;BR /&gt;Use the rebase tool to set the base address to something below 0x70000000.&lt;BR /&gt;&lt;BR /&gt;For more information, see the help under&lt;BR /&gt;VTune Performance Analyzer&lt;BR /&gt; - Collectionng and Analyzing Performance Data&lt;BR /&gt; - Using Call Graph Profiling&lt;BR /&gt; - Troubleshooting Call Graph&lt;BR /&gt; - Troubleshooting Instrumentation Failures&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;However, something seems odd here. Thread Profiler only needs the API Imports level of instrumentation to work.  The "All Functions" instrumentation level should not even be an option in Thread Profiler. This level is needed for Call Graph and Thread Checker.&lt;BR /&gt;&lt;BR /&gt;Also, even marked as a system dll, it should allow "API Imports" level of instrumentation. There may be something else preventing instrumentation.&lt;BR /&gt;</description>
      <pubDate>Wed, 06 Aug 2008 16:14:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847034#M2839</guid>
      <dc:creator>Mark_D_Intel</dc:creator>
      <dc:date>2008-08-06T16:14:03Z</dc:date>
    </item>
    <item>
      <title>Re: Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847035#M2840</link>
      <description>&lt;P&gt;Sorry, it's Thread Checker I'm trying to use - the profiler works ok.&lt;/P&gt;
&lt;P&gt;My DLL is at the default base of 400000, so it may be getting relocated higher up. There is no standard that says anything above 0x70000000 is a system DLL many system DLL's are rebased lower than this (All the D3D DLL's for example).&lt;/P&gt;
&lt;P&gt;In the 'Configure Intel Thread Checker' dialog, the Level for my DLL says 'module imports' and when I right click and try and change this I get a warning in the Status column and results window that says 'Full Instrumentation not applicable'.&lt;/P&gt;
&lt;P&gt;Is it saying this because it thinks it's a system DLL?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Andy&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Aug 2008 17:50:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847035#M2840</guid>
      <dc:creator>andy-glaister</dc:creator>
      <dc:date>2008-08-06T17:50:15Z</dc:date>
    </item>
    <item>
      <title>Re: Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847036#M2841</link>
      <description>For what it's worth, I don't put much effort into attempting thread checker with dynamic instrumentation.  I find recompilation and running with /Qtcheck more satisfactory, if you have that option.</description>
      <pubDate>Wed, 06 Aug 2008 18:13:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847036#M2841</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-08-06T18:13:37Z</dc:date>
    </item>
    <item>
      <title>Re: Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847037#M2842</link>
      <description>Two other simple things to check are&lt;BR /&gt;
 - make sure debug information is available (see the instrumentation tab grid)&lt;BR /&gt;
 - look for any error messages during instrumentation in the output window&lt;BR /&gt;&lt;BR /&gt;Beyond that, I would suggest contacting support at &lt;A href="http://premier.intel.com/" target="_blank"&gt;http://premier.intel.com/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;There appears to be some problem instrumenting this particular DLL (more than just getting the user/system distinction wrong)&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;</description>
      <pubDate>Wed, 06 Aug 2008 21:44:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847037#M2842</guid>
      <dc:creator>Mark_D_Intel</dc:creator>
      <dc:date>2008-08-06T21:44:40Z</dc:date>
    </item>
    <item>
      <title>Re: Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847038#M2843</link>
      <description>&lt;P&gt;I got it working - the help file is actually pretty good - it's just hidden behind the 'more help' button. It was the fact that the DLL gets rebased high causing Thread Checker to think it's a system DLL - I had to try rebasing it at a number of different addresses before I managed to get Thread Checker happy - it would be great to remove this limitation or have an option to force the instrumentation.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thread Checker turned out to be not very helpful for our application. We only have a tiny number of critical sections and insteadresolve all our thread dependencies via reference counts and lock free lists - Thread Checker didn't tolike the factthat one thread was using data after another thread has used it - which was fine in our aqrchitecture because the threads only ran once their dependencies we met. I guess for applications that wrap all shared data in CriticalSections maybe this works better. I looked through a few hundred errors and didn't see any real threading issues :-( doh oh well, it was pretty and worked well (once I rebased).&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Andy&lt;/P&gt;</description>
      <pubDate>Wed, 06 Aug 2008 21:59:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847038#M2843</guid>
      <dc:creator>andy-glaister</dc:creator>
      <dc:date>2008-08-06T21:59:16Z</dc:date>
    </item>
    <item>
      <title>Re: Intel Thread Profiler thinks my DLL is Type System</title>
      <link>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847039#M2844</link>
      <description>Glad to hear you got it working.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;There are some API's to tell Thread Checker about synchronization. Look in the help under API Support -&amp;gt; User-Level Synchronization API. I don't know if it's possible to map this to the way your app is organized - perhaps you could treat each reference count as a "lock"?&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;</description>
      <pubDate>Thu, 07 Aug 2008 15:12:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Analyzers/Intel-Thread-Profiler-thinks-my-DLL-is-Type-System/m-p/847039#M2844</guid>
      <dc:creator>Mark_D_Intel</dc:creator>
      <dc:date>2008-08-07T15:12:15Z</dc:date>
    </item>
  </channel>
</rss>

