From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 1/4] x86: expose CMT L3 event mask to user space Date: Tue, 23 Dec 2014 15:47:41 +0000 Message-ID: <54998E9D.7030805@citrix.com> References: <1419324880-13212-1-git-send-email-chao.p.peng@linux.intel.com> <1419324880-13212-2-git-send-email-chao.p.peng@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1419324880-13212-2-git-send-email-chao.p.peng@linux.intel.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: Chao Peng , xen-devel@lists.xen.org Cc: keir@xen.org, Ian.Campbell@citrix.com, stefano.stabellini@eu.citrix.com, Ian.Jackson@eu.citrix.com, JBeulich@suse.com, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org On 23/12/2014 08:54, Chao Peng wrote: > L3 event mask indicates the event types supported in host, including > cache occupancy event as well as local/total memory bandwidth events > for Memory Bandwidth Monitoring(MBM). Expose it so all these events > can be monitored in user space. > > Signed-off-by: Chao Peng Reviewed-by: Andrew Cooper > --- > xen/arch/x86/sysctl.c | 5 +++++ > xen/include/public/sysctl.h | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c > index 57ad992..0f08038 100644 > --- a/xen/arch/x86/sysctl.c > +++ b/xen/arch/x86/sysctl.c > @@ -157,6 +157,11 @@ long arch_do_sysctl( > sysctl->u.psr_cmt_op.u.data = (ret ? 0 : info.size); > break; > } > + case XEN_SYSCTL_PSR_CMT_get_l3_event_mask: > + { > + sysctl->u.psr_cmt_op.u.data = psr_cmt->l3.features; > + break; > + } > default: > sysctl->u.psr_cmt_op.u.data = 0; > ret = -ENOSYS; > diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h > index b3713b3..8552dc6 100644 > --- a/xen/include/public/sysctl.h > +++ b/xen/include/public/sysctl.h > @@ -641,6 +641,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_coverage_op_t); > /* The L3 cache size is returned in KB unit */ > #define XEN_SYSCTL_PSR_CMT_get_l3_cache_size 2 > #define XEN_SYSCTL_PSR_CMT_enabled 3 > +#define XEN_SYSCTL_PSR_CMT_get_l3_event_mask 4 > struct xen_sysctl_psr_cmt_op { > uint32_t cmd; /* IN: XEN_SYSCTL_PSR_CMT_* */ > uint32_t flags; /* padding variable, may be extended for future use */