[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v3 0/8] enable Cache Allocation Technology (CAT) for VMs



Changes in v3:
* Address comments from Jan and Ian(Detail in patch).
* Add xl sample output in cover letter.
Changes in v2:
* Address comments from Konrad and Jan(Detail in patch):
* Make all cat unrelated changes into the preparation patches. 

This patch serial enable the new Cache Allocation Technology (CAT) feature
found in Intel Broadwell and later server platform. On XEN implementation,
CAT is used to control cache allocation on VM basis.

Detail hardware spec can be found in section 17.15 of the Intel SDM [1].
The design for XEN can be found at [2].

xl usage example:
To set CBM for a Domain:
$ xl psr-cat-cbm-set 0 0xff

To get system CAT information and domain CBM setting:
$ xl psr-cat-show
SocketID:       0
L3 Cache:       12288KB
Maxmium COS:    15
CBM length:     12
Default CBM:    0xfff
   ID                     NAME             CBM
    0                 Domain-0            0xff

[1] Intel SDM 
(http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf)
[2] CAT design for XEN( 
http://lists.xen.org/archives/html/xen-devel/2014-12/msg01382.html)

Chao Peng (8):
  x86: clean up psr boot parameter parsing
  x86: improve psr scheduling code
  x86: detect and initialize Intel CAT feature
  x86: add support for COS/CBM manangement
  x86: add scheduling support for Intel CAT
  xsm: add CAT related xsm policies
  tools/libxl: introduce libxl_count_physical_sockets
  tools: add tools support for Intel CAT

 docs/man/xl.pod.1                            |  31 ++
 docs/misc/xen-command-line.markdown          |  13 +-
 tools/flask/policy/policy/modules/xen/xen.if |   2 +-
 tools/flask/policy/policy/modules/xen/xen.te |   4 +-
 tools/libxc/include/xenctrl.h                |  15 +
 tools/libxc/xc_psr.c                         |  74 +++++
 tools/libxl/libxl.h                          |  20 ++
 tools/libxl/libxl_psr.c                      | 126 +++++++-
 tools/libxl/libxl_types.idl                  |   5 +
 tools/libxl/libxl_utils.c                    |  17 +
 tools/libxl/libxl_utils.h                    |   2 +
 tools/libxl/xl.h                             |   4 +
 tools/libxl/xl_cmdimpl.c                     | 157 ++++++++-
 tools/libxl/xl_cmdtable.c                    |  12 +
 xen/arch/x86/domain.c                        |  13 +-
 xen/arch/x86/domctl.c                        |  18 ++
 xen/arch/x86/psr.c                           | 465 +++++++++++++++++++++++++--
 xen/arch/x86/sysctl.c                        |  18 ++
 xen/include/asm-x86/cpufeature.h             |   1 +
 xen/include/asm-x86/domain.h                 |   5 +-
 xen/include/asm-x86/msr-index.h              |   1 +
 xen/include/asm-x86/psr.h                    |  14 +-
 xen/include/public/domctl.h                  |  12 +
 xen/include/public/sysctl.h                  |  16 +
 xen/xsm/flask/hooks.c                        |   6 +
 xen/xsm/flask/policy/access_vectors          |   6 +
 26 files changed, 995 insertions(+), 62 deletions(-)

-- 
1.9.1


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.