x86: expose CMT L3 event mask to user space
authorChao Peng <chao.p.peng@linux.intel.com>
Fri, 9 Jan 2015 16:35:43 +0000 (17:35 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 9 Jan 2015 16:35:43 +0000 (17:35 +0100)
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 <chao.p.peng@linux.intel.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/sysctl.c
xen/include/public/sysctl.h

index 57ad99200ee5854d9148a91090f3f4a919a80090..611a291fe2395942c0514c246124549f3212d509 100644 (file)
@@ -157,6 +157,9 @@ 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;
index b3713b3f8e6f36372492a1c223e0ac294f7785d1..8552dc6d7cf6d1c7c5f05a60d86978da2989e296 100644 (file)
@@ -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 */