xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 00/13] Enable Memory Bandwidth Allocation in Xen
@ 2017-08-09  7:41 Yi Sun
  2017-08-09  7:41 ` [PATCH v1 01/13] docs: create Memory Bandwidth Allocation (MBA) feature document Yi Sun
                   ` (12 more replies)
  0 siblings, 13 replies; 50+ messages in thread
From: Yi Sun @ 2017-08-09  7:41 UTC (permalink / raw)
  To: xen-devel
  Cc: kevin.tian, wei.liu2, andrew.cooper3, dario.faggioli, ian.jackson,
	Yi Sun, julien.grall, mengxu, jbeulich, chao.p.peng, roger.pau

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.

The implementation bases on below patch set which has been merged into
staging branch.
[PATCH v15 00/23] Enable L2 Cache Allocation Technology & Refactor psr.c
https://lists.xen.org/archives/html/xen-devel/2017-08/msg00029.html

Any comments are welcome!

You can find this patch set at:
https://github.com/yisun-git/xen_mba mba_v1

---
V1 change list comparing to RFC v2:

Patch 1:
    - remove a special character to avoid the error when building pandoc.
Patch 2:
    - add description about what to be changed in commit message.
      (suggested by Wei Liu)
    - bump sysctl/domctl version numbers.
      (suggested by Wei Liu)
Patch 3:
    - rebase codes onto L2 CAT v15.
    - use '(1u << X)'.
      (suggested by Wei Liu)
    - move comment to appropriate place.
      (suggested by Chao Peng)
    - implement 'mba_init_feature' and keep 'cat_init_feature'.
      (suggested by Chao Peng)
    - keep 'regs.b' into a local variable to avoid reading CPUID every time.
      (suggested by Chao Peng)
Patch 5:
    - sort 'PSR_INFO_IDX_' macros as feature.
      (suggested by Chao Peng)
    - rename 'PSR_INFO_IDX_MBA_LINEAR' to 'PSR_INFO_IDX_MBA_FLAG'.
    - rename 'linear' in 'struct mba_info' to 'flags' for future extension.
      (suggested by Chao Peng)
Patch 7:
    - rename 'check_change_val' to 'check_val'.
      (suggested by Chao Peng)
    - rename 'cat_check_change_val' to 'cat_check_cbm'.
      (suggested by Chao Peng)
    - rename 'mba_check_change_val' to 'mba_check_thrtl'.
      (suggested by Chao Peng)
Patch 8:
    - change 'uint32_t target' to 'unsigned int target'.
      (suggested by Wei Liu)
    - change 'int nr' to 'unsigned int nr'.
      (suggested by Wei Liu)
    - change 'int lvl' to 'unsigned int lvl'.
    - change 'EXIT_FAILURE' to 'ERROR_FAIL'.
      (suggested by Wei Liu)
    - add 'dir=DIR_OUT' for 'libxl_psr_hw_info'.
      (suggested by Wei Liu)
Patch 9:
    - remove the pointless initialization for 'xc_psr_feat_type'.
      (suggested by Wei Liu)
    - use 'libxl__' for internal functions.
      (suggested by Wei Liu)
    - change error value '-1' to 'ERROR_INVAL'.
      (suggested by Wei Liu)
    - remove an extraneous space.
      (suggested by Wei Liu)
    - replace some 'int' to 'unsigned int'.
      (suggested by Wei Liu)
    - remove test to macro 'LIBXL_HAVE_PSR_MBA'.
      (suggested by Wei Liu)
    - change 'mba_info.linear' to 'mba_info.flags'.
      (suggested by Chao Peng)
    - adjust print info only to show the MBA info after successfully getting
      HW info.
Patch 10:
    - split this patch out from next 'get value' patch.
      (suggested by Wei Liu)

Yi Sun (13):
  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_val_type' to make it general
  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 get hw info interface suitable to all psr
    allocation features
  tools: rename 'xc_psr_cat_type' to 'xc_psr_val_type'
  tools: implemet new get value interface suitable for all psr
    allocation features
  tools: implemet new set value interface suitable for all psr
    allocation features
  docs: add MBA description in docs

 docs/features/intel_psr_mba.pandoc  | 247 ++++++++++++++++++++++
 docs/man/xl.pod.1.in                |  33 +++
 docs/misc/xl-psr.markdown           |  60 ++++++
 tools/flask/policy/modules/dom0.te  |   4 +-
 tools/libxc/include/xenctrl.h       |  47 ++++-
 tools/libxc/xc_psr.c                |  88 +++++---
 tools/libxl/libxl.h                 |  35 +++-
 tools/libxl/libxl_psr.c             | 227 +++++++++++++++++----
 tools/libxl/libxl_types.idl         |  22 ++
 tools/xl/xl.h                       |   2 +
 tools/xl/xl_cmdtable.c              |  12 ++
 tools/xl/xl_psr.c                   | 273 +++++++++++++++++++------
 xen/arch/x86/domctl.c               |  65 +++---
 xen/arch/x86/psr.c                  | 394 +++++++++++++++++++++++++++---------
 xen/arch/x86/sysctl.c               |  47 +++--
 xen/include/asm-x86/msr-index.h     |   1 +
 xen/include/asm-x86/psr.h           |  22 +-
 xen/include/public/domctl.h         |  14 +-
 xen/include/public/sysctl.h         |  20 +-
 xen/xsm/flask/hooks.c               |   8 +-
 xen/xsm/flask/policy/access_vectors |   8 +-
 21 files changed, 1323 insertions(+), 306 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

^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2017-08-22  6:45 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-09  7:41 [PATCH v1 00/13] Enable Memory Bandwidth Allocation in Xen Yi Sun
2017-08-09  7:41 ` [PATCH v1 01/13] docs: create Memory Bandwidth Allocation (MBA) feature document Yi Sun
2017-08-14  7:35   ` Chao Peng
2017-08-14  8:23     ` Yi Sun
2017-08-14  9:36       ` Chao Peng
2017-08-15 10:08   ` Wei Liu
2017-08-16  2:51     ` Yi Sun
2017-08-09  7:41 ` [PATCH v1 02/13] Rename PSR sysctl/domctl interfaces and xsm policy to make them be general Yi Sun
2017-08-15 10:12   ` Wei Liu
2017-08-16  2:48     ` Yi Sun
2017-08-15 14:03   ` Daniel De Graaf
2017-08-09  7:41 ` [PATCH v1 03/13] x86: rename 'cbm_type' to 'psr_val_type' to make it general Yi Sun
2017-08-15 10:13   ` Wei Liu
2017-08-16  2:17   ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 04/13] x86: implement data structure and CPU init flow for MBA Yi Sun
2017-08-15 10:50   ` Wei Liu
2017-08-16  7:18     ` Yi Sun
2017-08-17  9:49       ` Wei Liu
2017-08-16  3:14   ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 05/13] x86: implement get hw info " Yi Sun
2017-08-16  3:23   ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 06/13] x86: implement get value interface " Yi Sun
2017-08-16  6:38   ` Chao Peng
2017-08-16  6:43     ` Yi Sun
2017-08-17  7:51       ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 07/13] x86: implement set value flow " Yi Sun
2017-08-18  3:32   ` Chao Peng
2017-08-18  9:25     ` Yi Sun
2017-08-21  7:54       ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 08/13] tools: create general interfaces to support psr allocation features Yi Sun
2017-08-21 10:12   ` Chao Peng
2017-08-22  2:38     ` Yi Sun
2017-08-22  6:42       ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 09/13] tools: implement the new get hw info interface suitable to all " Yi Sun
2017-08-15 11:14   ` Wei Liu
2017-08-21 10:13   ` Chao Peng
2017-08-22  2:38     ` Yi Sun
2017-08-09  7:41 ` [PATCH v1 10/13] tools: rename 'xc_psr_cat_type' to 'xc_psr_val_type' Yi Sun
2017-08-15 11:15   ` Wei Liu
2017-08-21 10:13   ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 11/13] tools: implemet new get value interface suitable for all psr allocation features Yi Sun
2017-08-15 11:24   ` Wei Liu
2017-08-21 10:14   ` Chao Peng
2017-08-22  2:24     ` Yi Sun
2017-08-22  6:44       ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 12/13] tools: implemet new set " Yi Sun
2017-08-15 11:25   ` Wei Liu
2017-08-21 10:15     ` Chao Peng
2017-08-09  7:41 ` [PATCH v1 13/13] docs: add MBA description in docs Yi Sun
2017-08-15 11:26   ` Wei Liu

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).