From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: Xen Platform QoS design discussion Date: Thu, 22 May 2014 10:27:14 +0100 Message-ID: <537DC2F2.30702@eu.citrix.com> References: <40776A41FC278F40B59438AD47D147A9119F3FEA@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> <537DD3E60200007800014CFD@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <537DD3E60200007800014CFD@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , Dongxiao Xu Cc: Andrew Cooper , Ian Campbell , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 05/22/2014 09:39 AM, Jan Beulich wrote: >>>> 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). That sounds nice and clean, and hopefully would be flexible enough to do stuff in the future. But fundamentally that doesn't address Andrew's concerns that if callers are going to make repeated calls into libxl for each domain, this won't scale. On the other hand, there may be an argument for saying, "We'll optimize that if we find it's a problem." Dongxiao, is this functionality implemented for KVM yet? Do you know how they're doing it? -George