<?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 Thank you very much for this in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096883#M7277</link>
    <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Thank you very much for this explanation and the clarification of where it can be used. Since then,&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;machine admins have enabled this feature on KNLs, and everything is now working properly.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 28 Nov 2016 16:10:44 GMT</pubDate>
    <dc:creator>Julien_A_</dc:creator>
    <dc:date>2016-11-28T16:10:44Z</dc:date>
    <item>
      <title>MONITOR/MWAIT scope for a user-level thread engine</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096881#M7275</link>
      <description>&lt;P&gt;Dear Forum,&lt;/P&gt;

&lt;P&gt;Currently working on a user-level thread engine, I'm wondering up to which level Intel's processor MONITOR/MWAIT feature can be used in user-space.&lt;/P&gt;

&lt;P&gt;After reading the documentation, I've checked if the MONITOR/MWAIT support is enabled through CPUID:ECX[5]&amp;nbsp; and MSR[0x1A0h] at bit 18 (both set to 1). Indeed, I was able to use monitor &amp;amp; mwait instructions through a kernel module. But when I want to call these instructions in a user-space application (CPL &amp;gt; 0), a SIGILL is triggered.&lt;/P&gt;

&lt;P&gt;I've tried the aforementioned approach on two architectures:&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;Intel(R) Core(TM) i7-4790 CPU&lt;/LI&gt;
	&lt;LI&gt;Intel(R) Xeon Phi(TM) CPU 7250 (KNL) (kernel module not tested by lack of privileges for now)&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;I read in &lt;A href="https://software.intel.com/en-us/blogs/2016/10/06/intel-xeon-phi-product-family-x200-knl-user-mode-ring-3-monitor-and-mwait"&gt;https://software.intel.com/en-us/blogs/2016/10/06/intel-xeon-phi-product-family-x200-knl-user-mode-ring-3-monitor-and-mwait &lt;/A&gt;that KNL just recently permitted users to execute such instructions in ring3. Does this mean that it is not possible to use it elsewhere (no-KNL architectures, user-mode privileges) or is it strictly limited to KNL architecture ?&lt;/P&gt;

&lt;P&gt;Thanks in advance for your help,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Nov 2016 15:45:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096881#M7275</guid>
      <dc:creator>Julien_A_</dc:creator>
      <dc:date>2016-11-24T15:45:20Z</dc:date>
    </item>
    <item>
      <title>Volume 2 of the Intel</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096882#M7276</link>
      <description>&lt;P&gt;Volume 2 of the Intel Architectures Software Developer's Manual (Intel document 325383-059) says clearly that both the MONITOR and MWAIT instructions can only be executed at privilege level 0, and will generate an invalid-opcode exception if executed at any other privilege level.&lt;/P&gt;

&lt;P&gt;The user-mode MONITOR/MWAIT extension for Xeon Phi x200 applies only to the Xeon Phi x200.&amp;nbsp; Obviously this may change in the future, but a mechanism to enable user-mode MONITOR/MWAIT on other processors has not been disclosed.&lt;/P&gt;</description>
      <pubDate>Mon, 28 Nov 2016 16:01:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096882#M7276</guid>
      <dc:creator>McCalpinJohn</dc:creator>
      <dc:date>2016-11-28T16:01:11Z</dc:date>
    </item>
    <item>
      <title>Thank you very much for this</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096883#M7277</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Thank you very much for this explanation and the clarification of where it can be used. Since then,&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp;machine admins have enabled this feature on KNLs, and everything is now working properly.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Nov 2016 16:10:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/MONITOR-MWAIT-scope-for-a-user-level-thread-engine/m-p/1096883#M7277</guid>
      <dc:creator>Julien_A_</dc:creator>
      <dc:date>2016-11-28T16:10:44Z</dc:date>
    </item>
  </channel>
</rss>

