<?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 PCIe Read Performance in Embedded Intel® Core™ Processors</title>
    <link>https://community.intel.com/t5/Embedded-Intel-Core-Processors/PCIe-Read-Performance/m-p/248142#M2316</link>
    <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been monitoring the PCIe Read packets on my Linux box.  Much to my surprise, when requesting a block read in the application software, this request is broken up into many length one memory read requests.  Is there a way to improve this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After searching the internet, I stumbled across this document:  &lt;A href="http://edc.intel.com/Link.aspx?id=3949"&gt;http://edc.intel.com/Link.aspx?id=3949&lt;/A&gt;  &lt;A href="http://edc.intel.com/Link.aspx?id=3949"&gt;http://edc.intel.com/Link.aspx?id=3949&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On page 53, in the pdf, it states:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;I&gt;&lt;B&gt;As opposed to the write-case, there is no such thing like "read combining". However, there is a &amp;nbsp;&lt;/B&gt;&lt;/I&gt;&lt;/P&gt;possibility to generate requests for more than 8 bytes: prefetching. For memory regions marked as &lt;P&gt;&amp;nbsp;&lt;/P&gt;cachable the CPU may read data in advance, i.e. before it is actually needed. When data is fetched &lt;P&gt;&amp;nbsp;&lt;/P&gt;into the cache, whole cache lines are read. This operation is called cache line fill. A cache line is 64 &lt;P&gt;&amp;nbsp;&lt;/P&gt;bytes on the platform used in this tutorial.  &lt;P&gt;&amp;nbsp;&lt;/P&gt;Note that caching by default is disabled for all I/O regions which are mapped into memory. The &lt;P&gt;&amp;nbsp;&lt;/P&gt;following trace shows what happens if caching is enabled.&lt;P&gt;&lt;/P&gt;&lt;P&gt;My 2nd question is:  How do you enable IO caching in Linux?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ClearAsMud&lt;/P&gt;</description>
    <pubDate>Fri, 04 Nov 2011 04:12:03 GMT</pubDate>
    <dc:creator>MKals</dc:creator>
    <dc:date>2011-11-04T04:12:03Z</dc:date>
    <item>
      <title>PCIe Read Performance</title>
      <link>https://community.intel.com/t5/Embedded-Intel-Core-Processors/PCIe-Read-Performance/m-p/248142#M2316</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been monitoring the PCIe Read packets on my Linux box.  Much to my surprise, when requesting a block read in the application software, this request is broken up into many length one memory read requests.  Is there a way to improve this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After searching the internet, I stumbled across this document:  &lt;A href="http://edc.intel.com/Link.aspx?id=3949"&gt;http://edc.intel.com/Link.aspx?id=3949&lt;/A&gt;  &lt;A href="http://edc.intel.com/Link.aspx?id=3949"&gt;http://edc.intel.com/Link.aspx?id=3949&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On page 53, in the pdf, it states:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;I&gt;&lt;B&gt;As opposed to the write-case, there is no such thing like "read combining". However, there is a &amp;nbsp;&lt;/B&gt;&lt;/I&gt;&lt;/P&gt;possibility to generate requests for more than 8 bytes: prefetching. For memory regions marked as &lt;P&gt;&amp;nbsp;&lt;/P&gt;cachable the CPU may read data in advance, i.e. before it is actually needed. When data is fetched &lt;P&gt;&amp;nbsp;&lt;/P&gt;into the cache, whole cache lines are read. This operation is called cache line fill. A cache line is 64 &lt;P&gt;&amp;nbsp;&lt;/P&gt;bytes on the platform used in this tutorial.  &lt;P&gt;&amp;nbsp;&lt;/P&gt;Note that caching by default is disabled for all I/O regions which are mapped into memory. The &lt;P&gt;&amp;nbsp;&lt;/P&gt;following trace shows what happens if caching is enabled.&lt;P&gt;&lt;/P&gt;&lt;P&gt;My 2nd question is:  How do you enable IO caching in Linux?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ClearAsMud&lt;/P&gt;</description>
      <pubDate>Fri, 04 Nov 2011 04:12:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Embedded-Intel-Core-Processors/PCIe-Read-Performance/m-p/248142#M2316</guid>
      <dc:creator>MKals</dc:creator>
      <dc:date>2011-11-04T04:12:03Z</dc:date>
    </item>
  </channel>
</rss>

