<?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 Over-writing an instruction in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089611#M5622</link>
    <description>&lt;P&gt;Over-writing an instruction in a cache line will invalidate the cached line.&amp;nbsp; Perhaps that's even more of a delay than you want.&lt;/P&gt;</description>
    <pubDate>Sat, 16 Jan 2016 11:43:03 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2016-01-16T11:43:03Z</dc:date>
    <item>
      <title>Disabling instruction cache</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089610#M5621</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I need to test some code without the cpu caching the next instructions or reading them from its cache. For all the x86_64 family.&lt;/P&gt;

&lt;P&gt;Is there a mode which prevents the cpu from reading instructions from cache? it will *massively* impact the performance of the app, but at this stage (before the release), it doesn't matter. I guess setting the memory to "direct" instead of "write back" should help, but not sure it that would be enough.&lt;/P&gt;

&lt;P&gt;The why of all this is very specific and only for development stage (who would run a late cpu with crappy performance). I don't need an alternative solution but this one.&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Jan 2016 11:19:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089610#M5621</guid>
      <dc:creator>JLie</dc:creator>
      <dc:date>2016-01-16T11:19:14Z</dc:date>
    </item>
    <item>
      <title>Over-writing an instruction</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089611#M5622</link>
      <description>&lt;P&gt;Over-writing an instruction in a cache line will invalidate the cached line.&amp;nbsp; Perhaps that's even more of a delay than you want.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Jan 2016 11:43:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089611#M5622</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2016-01-16T11:43:03Z</dc:date>
    </item>
    <item>
      <title>Thanks Tim,</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089612#M5623</link>
      <description>&lt;P&gt;Thanks Tim,&lt;/P&gt;

&lt;P&gt;Is that always the case? I mean isn't there a corner case that would crush my strategy?&lt;/P&gt;</description>
      <pubDate>Sat, 16 Jan 2016 11:46:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089612#M5623</guid>
      <dc:creator>JLie</dc:creator>
      <dc:date>2016-01-16T11:46:45Z</dc:date>
    </item>
    <item>
      <title>The processor is certainly</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089613#M5624</link>
      <description>&lt;P&gt;The processor is certainly capable of operating with the cache(s) disabled, as described in Chapter 11 (especially section 11.5) of Volume 3 of the Intel Architecture SW Developer's Manual (document 325384).&amp;nbsp;&amp;nbsp; I would not be so certain that your operating system would work under these circumstances -- the cache-disabled modes are typically only used during the boot process.&lt;/P&gt;

&lt;P&gt;It is certainly possible (under Linux, anyway) to write a device driver that reserves a portion of system memory and marks it as uncacheable.&amp;nbsp;&amp;nbsp; It is pretty easy to use this for data -- the device drive provides an MMIO function that returns a user-space pointer to the beginning of this address range.&amp;nbsp; I have never seen instructions on how to set up the "text" of an executable to be mapped to a particular physical address range, but it seems likely that this could be hacked.&lt;/P&gt;

&lt;P&gt;I don't know if you are guaranteed that Intel processors will not cache instructions in the decoded uop cache when the instruction addresses are to UC memory.&amp;nbsp; Most of the discussion in the architecture manuals is about data accesses in uncached space, and I have not seen much discussion about instruction fetches from uncached space.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Jan 2016 18:19:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Disabling-instruction-cache/m-p/1089613#M5624</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2016-01-19T18:19:23Z</dc:date>
    </item>
  </channel>
</rss>

