From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v5 2/6] x86: allow reading MSR_IA32_TSC with XENPF_resource_op Date: Thu, 22 Jan 2015 11:20:15 +0000 Message-ID: <54C0EAFF0200007800058100@mail.emea.novell.com> References: <1421839164-26037-1-git-send-email-chao.p.peng@linux.intel.com> <1421839164-26037-3-git-send-email-chao.p.peng@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1421839164-26037-3-git-send-email-chao.p.peng@linux.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: Chao Peng Cc: wei.liu2@citrix.com, Ian.Campbell@citrix.com, stefano.stabellini@eu.citrix.com, Ian.Jackson@eu.citrix.com, xen-devel@lists.xen.org, will.auld@intel.com, keir@xen.org List-Id: xen-devel@lists.xenproject.org >>> On 21.01.15 at 12:19, wrote: > --- a/xen/arch/x86/platform_hypercall.c > +++ b/xen/arch/x86/platform_hypercall.c > @@ -61,7 +61,7 @@ long cpu_down_helper(void *data); > long core_parking_helper(void *data); > uint32_t get_cur_idle_nums(void); > > -#define RESOURCE_ACCESS_MAX_ENTRIES 2 > +#define RESOURCE_ACCESS_MAX_ENTRIES 3 See my comment on an earlier version. > @@ -75,6 +75,7 @@ static bool_t allow_access_msr(unsigned int msr) > /* MSR for CMT, refer to chapter 17.14 of Intel SDM. */ > case MSR_IA32_CMT_EVTSEL: > case MSR_IA32_CMT_CTR: > + case MSR_IA32_TSC: > return 1; > } > > @@ -143,10 +144,18 @@ static void resource_access(void *info) > switch ( entry->u.cmd ) > { > case XEN_RESOURCE_OP_MSR_READ: > - ret = rdmsr_safe(entry->idx, entry->val); > + if ( entry->idx == MSR_IA32_TSC ) { Coding style. unlikely()? > + entry->val = NOW(); > + ret = 0; > + } > + else > + ret = rdmsr_safe(entry->idx, entry->val); > break; > case XEN_RESOURCE_OP_MSR_WRITE: > - ret = wrmsr_safe(entry->idx, entry->val); > + if ( entry->idx == MSR_IA32_TSC ) unlikely()? Jan