From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: Xen Platform QoS design discussion Date: Thu, 22 May 2014 09:39:34 +0100 Message-ID: <537DD3E60200007800014CFD@mail.emea.novell.com> References: <40776A41FC278F40B59438AD47D147A9119F3FEA@SHSMSX104.ccr.corp.intel.com> <1398877340.5166.13.camel@kazak.uk.xensource.com> <40776A41FC278F40B59438AD47D147A9119F42A2@SHSMSX104.ccr.corp.intel.com> <5363804B020000780000E604@mail.emea.novell.com> <40776A41FC278F40B59438AD47D147A9119F4EF4@SHSMSX104.ccr.corp.intel.com> <5363AE54020000780000E7A2@mail.emea.novell.com> <40776A41FC278F40B59438AD47D147A9119FE6BB@SHSMSX104.ccr.corp.intel.com> <5368B418.9000307@citrix.com> <536AA342.8030003@citrix.com> <40776A41FC278F40B59438AD47D147A911A00A4C@SHSMSX104.ccr.corp.intel.com> <536B69AB.7010005@citrix.com> <40776A41FC278F40B59438AD47D147A911A150FC@SHSMSX104.ccr.corp.intel.com> <537A0B17020000780001390F@mail.emea.novell.com> <5379F576.4050108@eu.citrix.com> <537A18260200007800013A06@mail.emea.novell.com> <40776A41FC278F40B59438AD47D147A911A1AAEC@SHSMSX104.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <40776A41FC278F40B59438AD47D147A911A1AAEC@SHSMSX104.ccr.corp.intel.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Dongxiao Xu Cc: George Dunlap , Andrew Cooper , Ian Campbell , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org >>> On 22.05.14 at 10:19, wrote: >> From: xen-devel-bounces@lists.xen.org >> And without seeing the need for any advanced access mechanism, >> I'm continuing to try to promote D - implement simple, policy free >> (platform or sysctl) hypercalls providing MSR access to the tool stack >> (along the lines of the msr.ko Linux kernel driver). > > Do you mean some hypercall implementation like following: > In this case, Dom0 toolstack actually queries the real physical CPU MSRs. > > struct xen_sysctl_accessmsr accessmsr > { > unsigned int cpu; > unsigned int msr; > unsigned long value; > } > > do_sysctl () { > ... > case XEN_SYSCTL_accessmsr: > /* store the msr value in accessmsr.value */ > on_selected_cpus(cpumask_of(cpu), read_msr, &(op->u.accessmsr), 1); > } Yes, along those lines, albeit slightly more sophisticated based on the specific kind of operations needed for e.g. QoS (Andrew had some comments to the effect that simple read and write operations alone may not suffice). Jan