All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/15] Enable Memory Bandwidth Allocation in Xen
@ 2017-09-23  9:48 Yi Sun
  2017-09-23  9:48 ` [PATCH v4 01/15] docs: create Memory Bandwidth Allocation (MBA) feature document Yi Sun
                   ` (16 more replies)
  0 siblings, 17 replies; 64+ messages in thread
From: Yi Sun @ 2017-09-23  9:48 UTC (permalink / raw)
  To: xen-devel
  Cc: Yi Sun, Andrew Cooper, Ian Jackson, Julien Grall, Jan Beulich,
	Chao Peng, Wei Liu, Daniel De Graaf, Roger Pau Monné

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_v4

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 V4:

a - Acked-by
r - Reviewed-by

  ar patch 2  - Rename PSR sysctl/domctl interfaces and xsm policy to make them be general
  r  patch 3  - x86: rename 'cbm_type' to 'psr_type' to make it general
  r  patch 6  - x86: implement get value interface for MBA
  ar patch 12 - tools: rename 'xc_psr_cat_type' to 'xc_psr_type'
  a  patch 13 - tools: implement new generic get value interface and MBA get value command
  a  patch 15 - docs: add MBA description in docs

---
V4 change list:

Patch 1:
    - add 'domain-name' as parameter of 'psr-mba-show/psr-mba-set'.
      (suggested by Roger Pau Monné)
    - fix some wordings.
      (suggested by Roger Pau Monné)
    - explain how user can know the MBA_MAX.
      (suggested by Roger Pau Monné)
    - move the description of 'Linear mode/Non-linear mode' into section
      of 'psr-mba-show'.
      (suggested by Roger Pau Monné)
    - change 'per-thread' to 'per-hyper-thread' to make it clearer.
      (suggested by Roger Pau Monné)
    - upgrade revision number.
Patch 2:
    - remove 'ALLOC_' from names.
      (suggested by Roger Pau Monné)
    - fix comments.
      (suggested by Roger Pau Monné)
Patch 3:
    - fix words in commit message.
      (suggested by Roger Pau Monné)
Patch 4:
    - modify commit message.
      (suggested by Roger Pau Monné)
    - fix a comment.
      (suggested by Roger Pau Monné)
    - join two checks in a single if.
      (suggested by Roger Pau Monné)
    - remove redundant initialization of 'feat->cos_reg_val[0]'.
      (suggested by Roger Pau Monné)
    - change 'reg_b' to 'ebx'.
      (suggested by Jan Beulich)
    - change type of 'mba_init_feature' from 'int' to 'bool'.
      (suggested by Roger Pau Monné)
    - change type of 'cat_init_feature' from 'int' to 'bool'.
Patch 5:
    - remove 'ALLOC_' from macro names.
      (suggested by Roger Pau Monné)
    - initialize 'data[PSR_INFO_ARRAY_SIZE]' to 0 to prevent to leak stack data.
      (suggested by Roger Pau Monné)
Patch 6:
    - remove 'ALLOC_' from macro names.
      (suggested by Roger Pau Monné)
Patch 7:
    - remove 'ALLOC_' from macro names.
      (suggested by Roger Pau Monné)
    - join two checks into a single if.
      (suggested by Roger Pau Monné)
    - remove redundant local variable 'array_len'.
      (suggested by Roger Pau Monné)
Patch 8:
    - add description for LIBXL_HAVE_PSR_GENERIC to mention newly added
      public functions.
      (suggested by Roger Pau Monné)
Patch 9:
    - remove 'ALLOC_' from macro names.
      (suggested by Roger Pau Monné)
    - remove 'XC_PSR_FEAT_UNKNOWN' which is not necessary.
      (suggested by Roger Pau Monné)
    - remove 'FEAT_' from enum item names.
      (suggested by Roger Pau Monné)
    - remove 'xc_' from struct name.
      (suggested by Roger Pau Monné)
    - adjust codes to reduce indentation.
      (suggested by Roger Pau Monné)
    - assert for not happened case.
      (suggested by Roger Pau Monné)
    - add LOGE to show errno.
      (suggested by Roger Pau Monné)
Patch 10:
    - remove 'xc_' from struct name.
      (suggested by Roger Pau Monné)
    - fix words in commit message.
      (suggested by Roger Pau Monné)
    - change type of 'libxl__hw_info_to_libxl_cat_info' to void and use
      assert to check invalid type. Then, remove check for
      'libxl__hw_info_to_libxl_cat_info'.
      (suggested by Roger Pau Monné)
    - change type of 'libxl__xc_hw_info_to_libxl_hw_info' to void and use
      assert to check invalid type. Then, remove check for
      'libxl__xc_hw_info_to_libxl_hw_info'.
      (suggested by Roger Pau Monné)
Patch 12:
    - move assignment of xc_type to its declaration place.
      (suggested by Roger Pau Monné)
Patch 13:
    - use designated initializers for 'feat_name[]'.
      (suggested by Roger Pau Monné)
    - use LOG in 'libxl__psr_alloc_log_err_msg'.
      (suggested by Roger Pau Monné)
Patch 14:
    - remove 'ALLOC_' from macro name.
      (suggested by Roger Pau Monné)
    - adjust place of argc check and return EXIT_FAILURE.
      (suggested by Roger Pau Monné)
    - fix indentation issue.
      (suggested by Roger Pau Monné)
    - move same type local variables declaration to a single line.
      (suggested by Roger Pau Monné)
Patch 15:
    - modify description of MBA in 'xl.pod.1.in' to be same as feature doc.
      (suggested by Roger Pau Monné)
    - fix words issue.
      (suggested by Roger Pau Monné)

Yi Sun (15):
  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: 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  | 291 +++++++++++++++++++++++++++++
 docs/man/xl.pod.1.in                |  33 ++++
 docs/misc/xl-psr.markdown           |  63 +++++++
 tools/flask/policy/modules/dom0.te  |   4 +-
 tools/libxc/include/xenctrl.h       |  46 +++--
 tools/libxc/xc_psr.c                | 114 +++++++-----
 tools/libxl/libxl.h                 |  37 ++++
 tools/libxl/libxl_psr.c             | 219 +++++++++++++++++-----
 tools/libxl/libxl_types.idl         |  22 +++
 tools/xl/xl.h                       |   2 +
 tools/xl/xl_cmdtable.c              |  12 ++
 tools/xl/xl_psr.c                   | 280 ++++++++++++++++++++++------
 xen/arch/x86/domctl.c               |  81 ++++----
 xen/arch/x86/psr.c                  | 358 +++++++++++++++++++++++++-----------
 xen/arch/x86/sysctl.c               |  53 ++++--
 xen/include/asm-x86/msr-index.h     |   1 +
 xen/include/asm-x86/psr.h           |  22 ++-
 xen/include/public/domctl.h         |  32 ++--
 xen/include/public/sysctl.h         |  28 ++-
 xen/xsm/flask/hooks.c               |   8 +-
 xen/xsm/flask/policy/access_vectors |   8 +-
 21 files changed, 1354 insertions(+), 360 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] 64+ messages in thread

end of thread, other threads:[~2017-10-05 10:33 UTC | newest]

Thread overview: 64+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-23  9:48 [PATCH v4 00/15] Enable Memory Bandwidth Allocation in Xen Yi Sun
2017-09-23  9:48 ` [PATCH v4 01/15] docs: create Memory Bandwidth Allocation (MBA) feature document Yi Sun
2017-09-25 15:13   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 02/15] Rename PSR sysctl/domctl interfaces and xsm policy to make them be general Yi Sun
2017-09-25 16:15   ` Roger Pau Monné
2017-09-26  5:15     ` Yi Sun
2017-09-26 14:19   ` Wei Liu
2017-09-28  2:12     ` Yi Sun
2017-09-28  8:34       ` Wei Liu
2017-09-28 10:21   ` Jan Beulich
2017-09-29  1:34     ` Yi Sun
2017-10-04  5:47       ` Jan Beulich
2017-09-23  9:48 ` [PATCH v4 03/15] x86: rename 'cbm_type' to 'psr_type' to make it general Yi Sun
2017-09-28 10:25   ` Jan Beulich
2017-09-29  1:35     ` Yi Sun
2017-09-23  9:48 ` [PATCH v4 04/15] x86: implement data structure and CPU init flow for MBA Yi Sun
2017-09-26  8:38   ` Roger Pau Monné
2017-09-28 10:27     ` Jan Beulich
2017-09-28 11:00   ` Jan Beulich
2017-09-29  1:53     ` Yi Sun
2017-10-04  5:52       ` Jan Beulich
2017-10-05  4:42         ` Yi Sun
2017-10-05  8:49           ` Jan Beulich
2017-10-05 10:08             ` Yi Sun
2017-09-23  9:48 ` [PATCH v4 05/15] x86: implement get hw info " Yi Sun
2017-09-26  8:46   ` Roger Pau Monné
2017-09-26 11:49     ` Jan Beulich
2017-09-23  9:48 ` [PATCH v4 06/15] x86: implement get value interface " Yi Sun
2017-09-28 11:12   ` Jan Beulich
2017-09-23  9:48 ` [PATCH v4 07/15] x86: implement set value flow " Yi Sun
2017-09-26  9:39   ` Roger Pau Monné
2017-09-28  2:39     ` Yi Sun
2017-09-28 11:15       ` Jan Beulich
2017-09-28 11:36   ` Jan Beulich
2017-09-29  2:56     ` Yi Sun
2017-10-04  5:59       ` Jan Beulich
2017-10-05  4:48         ` Yi Sun
2017-10-05  8:39           ` Roger Pau Monné
2017-10-05  9:39             ` Jan Beulich
2017-10-05 10:10               ` Yi Sun
2017-10-05  8:55           ` Jan Beulich
2017-10-05 10:32             ` Yi Sun
2017-09-23  9:48 ` [PATCH v4 08/15] tools: create general interfaces to support psr allocation features Yi Sun
2017-09-26 10:11   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 09/15] tools: implement the new libxc get hw info interface Yi Sun
2017-09-26 10:22   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 10/15] tools: implement the new libxl " Yi Sun
2017-09-26 10:54   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 11/15] tools: implement the new xl " Yi Sun
2017-09-26 11:19   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 12/15] tools: rename 'xc_psr_cat_type' to 'xc_psr_type' Yi Sun
2017-09-26 11:21   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 13/15] tools: implement new generic get value interface and MBA get value command Yi Sun
2017-09-26 11:34   ` Roger Pau Monné
2017-09-23  9:48 ` [PATCH v4 14/15] tools: implement new generic set value interface and MBA set " Yi Sun
2017-09-26 11:39   ` Roger Pau Monné
2017-09-28  2:46     ` Yi Sun
2017-09-23  9:48 ` [PATCH v4 15/15] docs: add MBA description in docs Yi Sun
2017-09-26 11:45   ` Roger Pau Monné
2017-09-26 11:48 ` [PATCH v4 00/15] Enable Memory Bandwidth Allocation in Xen Roger Pau Monné
2017-09-28  2:20   ` Yi Sun
2017-09-28 15:57 ` Wei Liu
2017-09-29  2:58   ` Yi Sun
2017-09-29  8:02     ` Wei Liu

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.