All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chao Peng <chao.p.peng@linux.intel.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: keir@xen.org, Ian.Campbell@citrix.com,
	stefano.stabellini@eu.citrix.com, Ian.Jackson@eu.citrix.com,
	xen-devel@lists.xen.org, will.auld@intel.com, JBeulich@suse.com,
	wei.liu2@citrix.com, dgdegra@tycho.nsa.gov
Subject: Re: [PATCH v4 12/12] docs: add xl-psr.markdown
Date: Fri, 10 Apr 2015 15:45:10 +0800	[thread overview]
Message-ID: <20150410074510.GG3417@pengc-linux.bj.intel.com> (raw)
In-Reply-To: <552662A2.3050506@citrix.com>

On Thu, Apr 09, 2015 at 12:29:38PM +0100, Andrew Cooper wrote:
> On 09/04/15 10:18, Chao Peng wrote:
> > Add document to introduce basic concepts and terms in PSR family
> > techonologies and the xl/libxl interfaces.
> 
> Very nice!  A few minor comments...
> 
> >
> > Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
> > ---
> >  docs/man/xl.pod.1         |   7 +++
> >  docs/misc/xl-psr.markdown | 111 ++++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 118 insertions(+)
> >  create mode 100644 docs/misc/xl-psr.markdown
> >
> > +## Cache Monitoring Technology (CMT)
> > +
> > +Cache Monitoring Technology (CMT) is a new feature available on Intel Haswell
> > +and later server platforms that allows an OS or Hypervisor/VMM to determine
> > +the usage of cache(currently only L3 cache supported)
> 
> L3, or LLC?  This appears to be used ambiguously, but does have a
> material impact for system with L4 caches.

As there is no CMT+L4 working actually, I'd keep it as L3 right now.

> 
> >  by applications running
> > +on the platform. A Resource Monitoring ID (RMID) is the abstraction of the
> > +application(s) that will be monitored for its cache usage. The CMT hardware
> > +tracks cache utilization of memory accesses according to the RMID and reports
> > +monitored data via a counter register.
> > +
> > +Detailed information please refer to Intel SDM chapter 17.14.
> 
> Please put the chapter title as well, as the numbering does alter slowly
> over time.

Sure.

> 
> > +
> > +In Xen's implementation, each domain in the system can be assigned a RMID
> > +independently, while RMID=0 is reserved for monitoring domains that doesn't
> > +enable CMT service. RMID is opaque for xl/libxl and is only used in
> > +hypervisor.
> > +
> > +### xl interfaces
> > +
> > +A domain is assigned a RMID implicitly by attaching it to CMT service:
> > +
> > +xl psr-cmt-attach domid
> > +
> > +After that, cache usage for the domain can be showed by:
> > +
> > +xl psr-cmt-show cache_occupancy <domid>
> > +
> > +Once monitoring is not needed any more, the domain can be detached from the
> > +CMT service by:
> > +
> > +xl psr-cmt-detach domid
> > +
> > +The attaching may fail because of no free RMID available. In such case
> > +unused RMID(s) can be freed by detaching corresponding domains from CMT
> > +services. Maximum COS number in the system can also be obtained by:
> 
> You have not yet introduced COS as a term.  Perhaps this bit is better
> moving down to the CAT section?

Good catch. Thanks.

> 
> > +
> > +xl psr_cmt-show
> 
> "psr-cmt-show"
> 
> I am not sure how wise it is to dump information like max rmid/max cos
> into cmt-show.
> 
> Is it perhaps worth having an `xl psr-hwinfo` (or equivalent) which will
> dump the hardware capabilities, per-socket limits etc, as a consise way
> to obtain all relevant information?

Sounds reasonable. I will do it.
> 
> > +
> > +## Memory Bandwidth Monitoring (MBM)
> > +
> > +Memory Bandwidth Monitoring(MBM) is a new hardware feature available on Intel
> > +Broadwell and later server platforms which builds on the CMT infrastructure to
> > +allow monitoring of system memory bandwidth. It introduces two new monitoring
> > +event type to monitor system total/local memory bandwidth. The same RMID can
> > +be used to monitor both cache usage and memory bandwidth at the same time.
> > +
> > +Detailed information please refer to Intel SDM chapter 17.14.
> > +
> > +In Xen's implementation, MBM shares the same set of underlying monitoring
> > +service with CMT and can be used to monitor memory bandwidth on domain basis.
> > +
> > +The xl/libxl interface is the same with that of CMT. The difference is the
> > +monitor type is corresponding memory monitoring type(local_mem_bandwidth/
> > +total_mem_bandwidth) but not cache_occupancy.
> > +
> > +## Cache Allocation Technology (CAT)
> > +
> > +Cache Allocation Technology (CAT) is a new feature available on Intel
> > +Broadwell and later server platforms that allows an OS or Hypervisor/VMM to
> > +partition cache allocation(i.e. L3 cache) based on application priority or
> > +Class of Service(COS). Each COS is configured using capacity bitmasks (CBM)
> > +which represent cache capacity and indicate the degree of overlap and
> > +isolation between classes. System cache resource is divided into numbers of
> > +minimum portions which is then made up into subset for cache partition. Each
> > +portion corresponds to a bit in CBM and the set bit represents the
> > +corresponding cache portion is available.
> > +
> > +Detailed information please refer to Intel SDM chapter 17.15.
> > +
> > +In Xen's implementation, CBM can be set/get with libxl/xl interfaces but COS
> 
> Strictly speaking that should be "set/got" in english, but "configured"
> would be a better alternative.

Exactly, thanks.

Chao

  reply	other threads:[~2015-04-10  7:45 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09  9:18 [PATCH v4 00/12] enable Cache Allocation Technology (CAT) for VMs Chao Peng
2015-04-09  9:18 ` [PATCH v4 01/12] x86: clean up psr boot parameter parsing Chao Peng
2015-04-09 20:38   ` Andrew Cooper
2015-04-09  9:18 ` [PATCH v4 02/12] x86: improve psr scheduling code Chao Peng
2015-04-09 21:01   ` Andrew Cooper
2015-04-10  7:24     ` Chao Peng
2015-04-10  9:28       ` Andrew Cooper
2015-04-09  9:18 ` [PATCH v4 03/12] x86: detect and initialize Intel CAT feature Chao Peng
2015-04-09 21:30   ` Andrew Cooper
2015-04-09  9:18 ` [PATCH v4 04/12] x86: maintain COS to CBM mapping for each socket Chao Peng
2015-04-09 21:35   ` Andrew Cooper
2015-04-10  7:26     ` Chao Peng
2015-04-09  9:18 ` [PATCH v4 05/12] x86: maintain socket CPU mask for CAT Chao Peng
2015-04-09 21:45   ` Andrew Cooper
2015-04-10  7:33     ` Chao Peng
2015-04-10  9:48       ` Andrew Cooper
2015-04-09  9:18 ` [PATCH v4 06/12] x86: add COS information for each domain Chao Peng
2015-04-09 21:54   ` Andrew Cooper
2015-04-10  7:35     ` Chao Peng
2015-04-09  9:18 ` [PATCH v4 07/12] x86: expose CBM length and COS number information Chao Peng
2015-04-09 21:54   ` Andrew Cooper
2015-04-09  9:18 ` [PATCH v4 08/12] x86: dynamically get/set CBM for a domain Chao Peng
2015-04-09 22:06   ` Andrew Cooper
2015-04-10  7:37     ` Chao Peng
2015-04-09  9:18 ` [PATCH v4 09/12] x86: add scheduling support for Intel CAT Chao Peng
2015-04-09 22:12   ` Andrew Cooper
2015-04-10  7:41     ` Chao Peng
2015-04-09  9:18 ` [PATCH v4 10/12] xsm: add CAT related xsm policies Chao Peng
2015-04-09  9:18 ` [PATCH v4 11/12] tools: add tools support for Intel CAT Chao Peng
2015-04-09 10:50   ` Wei Liu
2015-04-16 11:20   ` Ian Campbell
2015-04-09  9:18 ` [PATCH v4 12/12] docs: add xl-psr.markdown Chao Peng
2015-04-09 11:29   ` Andrew Cooper
2015-04-10  7:45     ` Chao Peng [this message]
2015-04-16 11:58   ` Ian Campbell
2015-04-17 14:39     ` Chao Peng
2015-04-09 22:15 ` [PATCH v4 00/12] enable Cache Allocation Technology (CAT) for VMs Andrew Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150410074510.GG3417@pengc-linux.bj.intel.com \
    --to=chao.p.peng@linux.intel.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=will.auld@intel.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.