xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Yi Sun <yi.y.sun@linux.intel.com>
To: xen-devel@lists.xenproject.org
Cc: "Yi Sun" <yi.y.sun@linux.intel.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Ian Jackson" <ian.jackson@eu.citrix.com>,
	"Julien Grall" <julien.grall@arm.com>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Chao Peng" <chao.p.peng@linux.intel.com>,
	"Wei Liu" <wei.liu2@citrix.com>,
	"Daniel De Graaf" <dgdegra@tycho.nsa.gov>,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [PATCH v7 00/16] Enable Memory Bandwidth Allocation in Xen
Date: Fri, 13 Oct 2017 16:40:52 +0800	[thread overview]
Message-ID: <1507884068-18757-1-git-send-email-yi.y.sun@linux.intel.com> (raw)

Hi, all,

We plan to bring a new PSR (Platform Shared Resource) feature called
Intel Memory Bandwidth Allocation (MBA) to Xen.

Besides the MBA enabling, we change some interfaces to make them more
general but not only for CAT.

Any comments are welcome!

You can find this series at:
https://github.com/yisun-git/xen_mba mba_v7

This version bases on below pre-fix patch which has been merged into staging
branch:
"x86: psr: support co-exist features' values setting"
https://lists.xen.org/archives/html/xen-devel/2017-10/msg00866.html

CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Daniel De Graaf <dgdegra@tycho.nsa.gov>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Chao Peng <chao.p.peng@linux.intel.com>
CC: Julien Grall <julien.grall@arm.com>

---
Acked and Reviewed list before V7:

a - Acked-by
r - Reviewed-by

  r  patch 1  - docs: create Memory Bandwidth Allocation (MBA) feature document
  ar patch 2  - Rename PSR sysctl/domctl interfaces and xsm policy to make them be general
  ar patch 3  - x86: rename 'cbm_type' to 'psr_type' to make it general
  ar patch 4  - x86: a few optimizations to psr codes
  r  patch 5  - x86: implement data structure and CPU init flow for MBA
  ar patch 6  - x86: implement get hw info flow for MBA
  ar patch 7  - x86: implement get value interface for MBA
  ar patch 9  - tools: create general interfaces to support psr allocation features
  ar patch 10 - tools: implement the new libxc get hw info interface
  ar patch 11 - tools: implement the new libxl get hw info interface
  ar patch 12 - tools: implement the new xl get hw info interface
  ar patch 13 - tools: rename 'xc_psr_cat_type' to 'xc_psr_type'
  ar patch 14 - tools: implement new generic get value interface and MBA get value command
  ar patch 15 - tools: implement new generic set value interface and MBA set value command
  ar patch 16 - docs: add MBA description in docs

---
V7 change list:

Patch 2:
    - add single trailing underscore for internal variabled in macro.
      (suggested by Jan Beulich)
    - add parentheses for input parameters of marcro.
      (suggested by Jan Beulich)
    - adjust the postion of macro.
      (suggested by Jan Beulich)
    - rebase to latest codes.
Patch 4:
    - adjust the check to 'cat_init_feature' in 'psr_cpu_init'.
      (suggested by Jan Beulich)
    - change 'PSR_INFO_IDX_CAT_FLAG' to 'PSR_INFO_IDX_CAT_FLAGS'.
      (suggested by Jan Beulich)
Patch 5:
    - modify commit message.
      (suggested by Jan Beulich)
    - move the changes about check of 'cat_init_feature' in 'psr_cpu_init'
      into previous patch.
      (suggested by Jan Beulich)
Patch 6:
    - change 'PSR_INFO_IDX_MBA_FLAG' to 'PSR_INFO_IDX_MBA_FLAGS'.
      (suggested by Jan Beulich)
Patch 8:
    - change name of 'check_val' to 'sanitize'.
      (suggested by Jan Beulich)
    - fix comments.
      (suggested by Jan Beulich)
    - add parentheses and change '== 0' to '!'.
      (suggested by Jan Beulich)
    - remove unnecessary check of 'mba.thrtl_max'.
      (suggested by Jan Beulich)
    - remove unnecessary intermediate variable 'mod'.
      (suggested by Jan Beulich)
    - refine an assignement sentence to use '&='.
      (suggested by Jan Beulich)
    - change type of last parameter of 'sanitize' to 'uint32_t' and
      apply same change to 'cat_check_cbm'.
      (suggested by Jan Beulich)

Yi Sun (16):
  docs: create Memory Bandwidth Allocation (MBA) feature document
  Rename PSR sysctl/domctl interfaces and xsm policy to make them be
    general
  x86: rename 'cbm_type' to 'psr_type' to make it general
  x86: a few optimizations to psr codes
  x86: implement data structure and CPU init flow for MBA
  x86: implement get hw info flow for MBA
  x86: implement get value interface for MBA
  x86: implement set value flow for MBA
  tools: create general interfaces to support psr allocation features
  tools: implement the new libxc get hw info interface
  tools: implement the new libxl get hw info interface
  tools: implement the new xl get hw info interface
  tools: rename 'xc_psr_cat_type' to 'xc_psr_type'
  tools: implement new generic get value interface and MBA get value
    command
  tools: implement new generic set value interface and MBA set value
    command
  docs: add MBA description in docs

 docs/features/intel_psr_mba.pandoc  | 297 +++++++++++++++++++++++++++++++++++
 docs/man/xl.pod.1.in                |  33 ++++
 docs/misc/xl-psr.markdown           |  62 ++++++++
 tools/flask/policy/modules/dom0.te  |   4 +-
 tools/libxc/include/xenctrl.h       |  44 ++++--
 tools/libxc/xc_psr.c                | 109 +++++++------
 tools/libxl/libxl.h                 |  37 +++++
 tools/libxl/libxl_psr.c             | 223 +++++++++++++++++++++------
 tools/libxl/libxl_types.idl         |  22 +++
 tools/xl/xl.h                       |   2 +
 tools/xl/xl_cmdtable.c              |  12 ++
 tools/xl/xl_psr.c                   | 279 ++++++++++++++++++++++++++-------
 xen/arch/x86/domctl.c               |  87 ++++++-----
 xen/arch/x86/psr.c                  | 298 +++++++++++++++++++++++++++---------
 xen/arch/x86/sysctl.c               |  57 ++++---
 xen/include/asm-x86/msr-index.h     |   1 +
 xen/include/asm-x86/psr.h           |  24 +--
 xen/include/public/domctl.h         |  26 ++--
 xen/include/public/sysctl.h         |  20 ++-
 xen/xsm/flask/hooks.c               |   8 +-
 xen/xsm/flask/policy/access_vectors |   8 +-
 21 files changed, 1323 insertions(+), 330 deletions(-)
 create mode 100644 docs/features/intel_psr_mba.pandoc

-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

             reply	other threads:[~2017-10-13  9:01 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-13  8:40 Yi Sun [this message]
2017-10-13  8:40 ` [PATCH v7 01/16] docs: create Memory Bandwidth Allocation (MBA) feature document Yi Sun
2017-10-13  8:40 ` [PATCH v7 02/16] Rename PSR sysctl/domctl interfaces and xsm policy to make them be general Yi Sun
2017-10-13 14:08   ` Daniel De Graaf
2017-10-13  8:40 ` [PATCH v7 03/16] x86: rename 'cbm_type' to 'psr_type' to make it general Yi Sun
2017-10-13  8:40 ` [PATCH v7 04/16] x86: a few optimizations to psr codes Yi Sun
2017-10-13  8:40 ` [PATCH v7 05/16] x86: implement data structure and CPU init flow for MBA Yi Sun
2017-10-13 10:40   ` Jan Beulich
2017-10-13  8:40 ` [PATCH v7 06/16] x86: implement get hw info " Yi Sun
2017-10-13  8:40 ` [PATCH v7 07/16] x86: implement get value interface " Yi Sun
2017-10-13  8:41 ` [PATCH v7 08/16] x86: implement set value flow " Yi Sun
2017-10-13 15:56   ` Jan Beulich
2017-10-16  1:44     ` Yi Sun
2017-10-13  8:41 ` [PATCH v7 09/16] tools: create general interfaces to support psr allocation features Yi Sun
2017-10-13  8:41 ` [PATCH v7 10/16] tools: implement the new libxc get hw info interface Yi Sun
2017-10-13  8:41 ` [PATCH v7 11/16] tools: implement the new libxl " Yi Sun
2017-10-13  8:41 ` [PATCH v7 12/16] tools: implement the new xl " Yi Sun
2017-10-13  8:41 ` [PATCH v7 13/16] tools: rename 'xc_psr_cat_type' to 'xc_psr_type' Yi Sun
2017-10-13  8:41 ` [PATCH v7 14/16] tools: implement new generic get value interface and MBA get value command Yi Sun
2017-10-13  8:41 ` [PATCH v7 15/16] tools: implement new generic set value interface and MBA set " Yi Sun
2017-10-13  8:41 ` [PATCH v7 16/16] docs: add MBA description in docs Yi Sun

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=1507884068-18757-1-git-send-email-yi.y.sun@linux.intel.com \
    --to=yi.y.sun@linux.intel.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=roger.pau@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).