From: He Chen <he.chen@linux.intel.com>
To: xen-devel@lists.xenproject.org
Cc: wei.liu2@citrix.com, ian.campbell@citrix.com,
stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com,
ian.jackson@eu.citrix.com, jbeulich@suse.com,
chao.p.peng@linux.intel.com, keir@xen.org
Subject: [PATCH v6 0/3] detect and initialize CDP (Code/Data Prioritization) feature
Date: Thu, 8 Oct 2015 11:23:54 +0800 [thread overview]
Message-ID: <1444274637-6104-1-git-send-email-he.chen@linux.intel.com> (raw)
Changes in v6:
- x86:
* remove unnecessary parameter in cdp_is_enabled function
* remove variable need_write and restruct code in psr_set_l3_cbm
- tools & docs:
* separate CBM headings in the output of xl psr-cat-show
* revert the numbers of SDM chapter in xl-psr.markdown
* XC_PSR_CAT_L3_CODE (DATA) => XC_PSR_CAT_L3_CBM_CODE (DATA)
* correct error message of passing -c and -d at the same time
Changes in v5:
- x86: address Andrew's and Jan's coments.
- tools: refine options parsing in psr-cat-cbm-set and invalidate passing -c
and -d at the same time
- merge tools and docs patches.
- code style
Changes in v4:
- x86:
* remove union member name in struct `psr_cat_cbm` (suggested by Jan)
* fix log info of CAT & CDP (suggested by Chao & Jan)
* add a helper `cdp_is_enabled` to tell the status of CDP and CDP initialize
failed is considered (Jan's comment)
* XEN_SYSCTL_INTERFACE_VERSION 0x0000000C -> 0x0000000D (suggested by Jan)
* refine CBM type check logic in get/set CBM function (suggested by Jan)
* loop optimization in function `find_cos` (suggested by Jan)
- tools: address Chao's comments.
- docs: address Chao's comments.
- code style
Changes in v3:
- x86: remove redundant CDP field in cat_socket_enable (suggested by Chao)
- tools: simplify CBM setting function in tools (suggested by Jan)
- docs: add boot parameter description (suggested by Chao & Ian)
- code style
Changes in v2:
- x86: enable CDP by boot parameter instead of enabling/disabling CDP at
runtime (suggested by Andrew)
- tools: remove psr-cat-cdp-enable/disable xl commands
- code style
Code/Data Prioritization(CDP) is offered in Intel Broadwell and later server
platforms, which is an extension of CAT. CDP enables isolation and separate
prioritization of code and data fetches to the L3 cache in a software
configurable manner, which can enable workload prioritization and tuning of
cache capacity to the characteristics of the workload. CDP extends Cache
Allocation Technology (CAT) by providing separate code and data capacity bit
masks(CBM) per Class of Service (COS). CDP is used on VM basis in the Xen
implementation.
More information about CDP, please refer to Intel SDM, Volumn 3, section 17.16
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf
This patch series enables CDP feature in Xen based on CAT code, and extends
CBM operation functions to support CDP. For all the changes, please see in
each patch.
This v6 patchset has been tested on Intel Broadwell server platform.
To make this patchset better, any comment or suggestion is welcomed, I would
really appreciate it.
Thanks.
He Chen (3):
x86: Support enable CDP by boot parameter and add get CDP status
x86: add domctl cmd to set/get CDP code/data CBM
tools & docs: add tools and docs support for Intel CDP
docs/man/xl.pod.1 | 15 +++
docs/misc/xen-command-line.markdown | 11 +-
docs/misc/xl-psr.markdown | 53 +++++++++
tools/libxc/include/xenctrl.h | 7 +-
tools/libxc/xc_psr.c | 17 ++-
tools/libxl/libxl.h | 7 ++
tools/libxl/libxl_psr.c | 5 +-
tools/libxl/libxl_types.idl | 3 +
tools/libxl/xl_cmdimpl.c | 58 +++++++--
tools/libxl/xl_cmdtable.c | 2 +
xen/arch/x86/domctl.c | 32 ++++-
xen/arch/x86/psr.c | 229 ++++++++++++++++++++++++++++--------
xen/arch/x86/sysctl.c | 5 +-
xen/include/asm-x86/msr-index.h | 3 +
xen/include/asm-x86/psr.h | 20 +++-
xen/include/public/domctl.h | 4 +
xen/include/public/sysctl.h | 4 +-
17 files changed, 404 insertions(+), 71 deletions(-)
--
1.9.1
next reply other threads:[~2015-10-08 3:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-08 3:23 He Chen [this message]
2015-10-08 3:23 ` [PATCH v6 1/3] x86: Support enable CDP by boot parameter and add get CDP status He Chen
2015-10-10 6:04 ` Chao Peng
2015-10-08 3:23 ` [PATCH v6 2/3] x86: add domctl cmd to set/get CDP code/data CBM He Chen
2015-10-10 6:11 ` Chao Peng
2015-10-08 3:23 ` [PATCH v6 3/3] tools & docs: add tools and docs support for Intel CDP He Chen
2015-10-08 10:34 ` Ian Jackson
2015-10-08 10:48 ` Ian Campbell
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=1444274637-6104-1-git-send-email-he.chen@linux.intel.com \
--to=he.chen@linux.intel.com \
--cc=andrew.cooper3@citrix.com \
--cc=chao.p.peng@linux.intel.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=stefano.stabellini@eu.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).