<?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 The WC memory type is in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/Setting-Write-Combine-memory-type/m-p/1133036#M6445</link>
    <description>&lt;P&gt;The WC memory type is typically only used for memory-mapped IO regions, not for system memory regions.&lt;/P&gt;&lt;P&gt;The MOVNTDQA instruction is intended to provide concurrent 64-Byte transfers from memory-mapped IO regions. &amp;nbsp;This is not needed for system memory regions because the WriteBack memory type already provides 64-Byte transfers and concurrency.&lt;/P&gt;&lt;P&gt;The hardware should support using the WC type for system memory, but this is not a target that an operating system is likely to be set up for.&lt;/P&gt;</description>
    <pubDate>Fri, 01 Nov 2019 20:49:47 GMT</pubDate>
    <dc:creator>McCalpinJohn</dc:creator>
    <dc:date>2019-11-01T20:49:47Z</dc:date>
    <item>
      <title>Setting Write Combine memory type.</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Setting-Write-Combine-memory-type/m-p/1133035#M6444</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I was trying to set memory type as Write combine because I want to use 'movntdqa' instructions.&lt;/P&gt;&lt;P&gt;I found the set_memory_wc() function in kernel code which take the memory address and size as argument.&lt;/P&gt;&lt;P&gt;In that function, It convert the logical address to physical address by using __pa() function.&lt;/P&gt;&lt;P&gt;As far as I know __pa() function is only valid when the address is kernel logical address space.&lt;/P&gt;&lt;P&gt;So I don't know the set_memory_wc() function is also can be called by user process.&lt;/P&gt;&lt;P&gt;I have implemented the custom system call which call set_memory_wc() function and used in user process but I generate error.&lt;/P&gt;&lt;P&gt;The error message was "&amp;nbsp;CPA: called for zero pte.". I think this error is due to I am calling that function is user address space.&lt;/P&gt;&lt;P&gt;Then Is there any way to set memory type to write combine in address space??&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Nov 2019 00:43:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Setting-Write-Combine-memory-type/m-p/1133035#M6444</guid>
      <dc:creator>Jaeyoung__Choi</dc:creator>
      <dc:date>2019-11-01T00:43:48Z</dc:date>
    </item>
    <item>
      <title>The WC memory type is</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/Setting-Write-Combine-memory-type/m-p/1133036#M6445</link>
      <description>&lt;P&gt;The WC memory type is typically only used for memory-mapped IO regions, not for system memory regions.&lt;/P&gt;&lt;P&gt;The MOVNTDQA instruction is intended to provide concurrent 64-Byte transfers from memory-mapped IO regions. &amp;nbsp;This is not needed for system memory regions because the WriteBack memory type already provides 64-Byte transfers and concurrency.&lt;/P&gt;&lt;P&gt;The hardware should support using the WC type for system memory, but this is not a target that an operating system is likely to be set up for.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Nov 2019 20:49:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/Setting-Write-Combine-memory-type/m-p/1133036#M6445</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2019-11-01T20:49:47Z</dc:date>
    </item>
  </channel>
</rss>

