<?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 I downloaded and compile in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031946#M42369</link>
    <description>&lt;P&gt;I downloaded and compile/built a rdmsr version for MIC (https://01.org/msr-tools/downloads).&lt;/P&gt;

&lt;P&gt;The following are results of read msr 0x10 and 0x19a. 0x19a is the register number for IA32_CLOCK_MODULATION on architectures like SandyBridge.&lt;/P&gt;

&lt;P&gt;[root@savina-mic0 bin]# ./rdmsr&amp;nbsp; 0x10&lt;BR /&gt;
	4c16258f3c3&lt;BR /&gt;
	[root@savina-mic0 bin]# ./rdmsr&amp;nbsp; 0x19a&lt;BR /&gt;
	rdmsr: CPU 0 cannot read MSR 0x0000019a&lt;/P&gt;

&lt;P&gt;It seems the /dev/cpu/0/msr does not have the 0x19a counter.&lt;/P&gt;</description>
    <pubDate>Thu, 23 Oct 2014 21:09:31 GMT</pubDate>
    <dc:creator>Wei</dc:creator>
    <dc:date>2014-10-23T21:09:31Z</dc:date>
    <item>
      <title>Software Controlled Clock Facilities</title>
      <link>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031943#M42366</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I am trying to control the duty cycle of mic cores (through IA32_CLOCK_MODULATION), but I just found the following limited information in the Developer's Guide.&lt;/P&gt;

&lt;P&gt;"The processor implements internal MSRs (IA32_THERM_STATUS, IA32_THERM_INTERRUPT,&lt;BR /&gt;
	IA32_CLOCK_MODULATION) that allow the processor temperature to be monitored and the processor performance to&lt;BR /&gt;
	be modulated in predefined duty cycles under software control."&lt;/P&gt;

&lt;P&gt;How could the duty cycles be software controlled on MIC? On SandyBridge (and others)&amp;nbsp; one can use MSR Inline Assembly or msr device files to achieve this.&lt;/P&gt;

&lt;P&gt;The paragraph immediately following the above confuses me a little bit:&lt;/P&gt;

&lt;P&gt;" The Intel® Xeon PhiTM coprocessor supports non-ACPI based thermal monitoring through a dedicated TMU and a set of&lt;BR /&gt;
	thermal sensors. Thermal throttling of the core clock occurs automatically in hardware during a thermal event.&lt;BR /&gt;
	Additionally, OS power-management software is given an opportunity to modulate the core frequency and voltage in&lt;BR /&gt;
	response to the thermal event. These core frequency and voltage settings take effect when the thermal event ends. In&lt;BR /&gt;
	other words, Intel® Xeon PhiTM coprocessor hardware provides equivalent support for handling thermal events but&lt;BR /&gt;
	through different mechanisms. "&lt;/P&gt;

&lt;P&gt;If thermal throttlin occurs automatically in hardware, will the duty cycles still controllable in software? OS power-management software can modulate core frequency and voltage, that is DVFS, can OS power-management control the duty cycle? If not, how could "the processor performance ...under software control." ?&lt;/P&gt;

&lt;P&gt;In short, how could we software-modulate the duty cycles on MIC?&lt;/P&gt;

&lt;P&gt;Thank you!&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Oct 2014 23:35:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031943#M42366</guid>
      <dc:creator>Wei</dc:creator>
      <dc:date>2014-10-21T23:35:41Z</dc:date>
    </item>
    <item>
      <title>Wei,</title>
      <link>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031944#M42367</link>
      <description>&lt;P&gt;Wei,&lt;/P&gt;

&lt;P&gt;From what perspective are you asking these questions? Are you taking the view of a conventional application running on top of the OS? Or are you taking the point of view of an OS designer?&lt;/P&gt;

&lt;P&gt;The guide you mention is a "system" software developer's guide, meaning it is intended for designers of operating systems and other bare metal applications.&lt;/P&gt;

&lt;P&gt;The power management controls you mention are not directly accessible to user applications to my knowledge.&lt;/P&gt;

&lt;P&gt;Also, the underlying thermal monitoring hardware and controls are not as full featured as what you find in the current big core processors.&lt;/P&gt;

&lt;P&gt;Regards&lt;BR /&gt;
	--&lt;BR /&gt;
	Taylor&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Oct 2014 16:37:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031944#M42367</guid>
      <dc:creator>TaylorIoTKidd</dc:creator>
      <dc:date>2014-10-23T16:37:23Z</dc:date>
    </item>
    <item>
      <title>Hi Taylor,</title>
      <link>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031945#M42368</link>
      <description>&lt;P&gt;Hi Taylor,&lt;/P&gt;

&lt;P&gt;Thank you for your reply.&lt;/P&gt;

&lt;P&gt;I am asking with mixed views, with more view of a conventional application running on top of the OS. I am curious whether the MIC OS exposes any "gates" (e.g. kernel module, system call) for sudo users (or even application, when system call is exposed) to explicitly control the IA32_CLOCK_MODULATION internal MSR.&lt;/P&gt;

&lt;P&gt;On Sandy Bridge, privileged users can explicitly set the IA32_CLOCK_MODULATION by writing to /dev/cpu/{cpu_id}/msr. To support user control (with pros and cons), kernels can be modified to add system call that executes the wrmsr inline assembly to set the IA32_CLOCK_MODULATION.&lt;/P&gt;

&lt;P&gt;I noticed on MIC there is the same device file for each core as SandyBridge (/dev/cpu/{cpu_id}/msr). I am wondering can a sudo user set the IA32_CLOCK_MODULATION on MIC?&lt;/P&gt;

&lt;P&gt;Thank you!&lt;/P&gt;

&lt;P&gt;Wei&lt;/P&gt;</description>
      <pubDate>Thu, 23 Oct 2014 17:12:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031945#M42368</guid>
      <dc:creator>Wei</dc:creator>
      <dc:date>2014-10-23T17:12:07Z</dc:date>
    </item>
    <item>
      <title>I downloaded and compile</title>
      <link>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031946#M42369</link>
      <description>&lt;P&gt;I downloaded and compile/built a rdmsr version for MIC (https://01.org/msr-tools/downloads).&lt;/P&gt;

&lt;P&gt;The following are results of read msr 0x10 and 0x19a. 0x19a is the register number for IA32_CLOCK_MODULATION on architectures like SandyBridge.&lt;/P&gt;

&lt;P&gt;[root@savina-mic0 bin]# ./rdmsr&amp;nbsp; 0x10&lt;BR /&gt;
	4c16258f3c3&lt;BR /&gt;
	[root@savina-mic0 bin]# ./rdmsr&amp;nbsp; 0x19a&lt;BR /&gt;
	rdmsr: CPU 0 cannot read MSR 0x0000019a&lt;/P&gt;

&lt;P&gt;It seems the /dev/cpu/0/msr does not have the 0x19a counter.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Oct 2014 21:09:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Software-Controlled-Clock-Facilities/m-p/1031946#M42369</guid>
      <dc:creator>Wei</dc:creator>
      <dc:date>2014-10-23T21:09:31Z</dc:date>
    </item>
  </channel>
</rss>

