From: Dario Faggioli <dario.faggioli@citrix.com>
To: Xen-devel <xen-devel@lists.xen.org>
Cc: wei.liu2@citrix.com, Ian.Campbell@citrix.com,
George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com,
Dongxiao Xu <dongxiao.xu@intel.com>,
JBeulich@suse.com, Chao Peng <chao.p.peng@linux.intel.com>
Subject: [RFC PATCH 7/7] xl: allow for attaching and detaching a CPU to CMT
Date: Sat, 04 Apr 2015 04:15:14 +0200 [thread overview]
Message-ID: <20150404021514.22875.55856.stgit@Solace.station> (raw)
In-Reply-To: <20150404020423.22875.23590.stgit@Solace.station>
Now that the functionallity is wired, from within
Xen up to libxl, use that to implement a new mode
for `xl psr-cmt-attach' and `xl psr-cmt-detach',
by means of a new '-c' switch:
[root@redbrick ~]# xl psr-cmt-detach -c 4
[root@redbrick ~]# xl psr-cmt-attach -c 121
Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
---
tools/libxl/xl_cmdimpl.c | 44 ++++++++++++++++++++++++++++++++++----------
tools/libxl/xl_cmdtable.c | 12 ++++++++----
2 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index d314947..7f7d995 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -8233,30 +8233,54 @@ static int psr_cmt_show(libxl_psr_cmt_type type, uint32_t domid)
int main_psr_cmt_attach(int argc, char **argv)
{
- uint32_t domid;
+ uint32_t id;
+ bool cpu = false;
int opt, ret = 0;
+ static struct option opts[] = {
+ {"cpu", 0, 0, 'c'},
+ COMMON_LONG_OPTS,
+ {0, 0, 0, 0}
+ };
- SWITCH_FOREACH_OPT(opt, "", NULL, "psr-cmt-attach", 1) {
- /* No options */
+ SWITCH_FOREACH_OPT(opt, "c", opts, "psr-cmt-attach", 1) {
+ case 'c':
+ cpu = true;
+ break;
}
- domid = find_domain(argv[optind]);
- ret = libxl_psr_cmt_attach(ctx, domid);
+ if (cpu) {
+ id = atoi(argv[optind]);
+ return libxl_psr_cmt_cpu_attach(ctx, id);
+ }
+ id = find_domain(argv[optind]);
+ ret = libxl_psr_cmt_attach(ctx, id);
return ret;
}
int main_psr_cmt_detach(int argc, char **argv)
{
- uint32_t domid;
+ uint32_t id;
+ bool cpu = false;
int opt, ret = 0;
+ static struct option opts[] = {
+ {"cpu", 0, 0, 'c'},
+ COMMON_LONG_OPTS,
+ {0, 0, 0, 0}
+ };
- SWITCH_FOREACH_OPT(opt, "", NULL, "psr-cmt-detach", 1) {
- /* No options */
+ SWITCH_FOREACH_OPT(opt, "c", opts, "psr-cmt-detach", 1) {
+ case 'c':
+ cpu = true;
+ break;
}
- domid = find_domain(argv[optind]);
- ret = libxl_psr_cmt_detach(ctx, domid);
+ if (cpu) {
+ id = atoi(argv[optind]);
+ return libxl_psr_cmt_cpu_detach(ctx, id);
+ }
+ id = find_domain(argv[optind]);
+ ret = libxl_psr_cmt_detach(ctx, id);
return ret;
}
diff --git a/tools/libxl/xl_cmdtable.c b/tools/libxl/xl_cmdtable.c
index 5bbe406..886dd8a 100644
--- a/tools/libxl/xl_cmdtable.c
+++ b/tools/libxl/xl_cmdtable.c
@@ -526,13 +526,17 @@ struct cmd_spec cmd_table[] = {
#ifdef LIBXL_HAVE_PSR_CMT
{ "psr-cmt-attach",
&main_psr_cmt_attach, 0, 1,
- "Attach Cache Monitoring Technology service to a domain",
- "<Domain>",
+ "Attach Cache Monitoring Technology service to a domain or a pCPU",
+ "[-c|--cpu] <id>",
+ "By default (no -c), <id> is the domain id of the domain to start monitoring.\n"
+ "-c|--cpu <id> Attach monitoring to CPU <id>."
},
{ "psr-cmt-detach",
&main_psr_cmt_detach, 0, 1,
- "Detach Cache Monitoring Technology service from a domain",
- "<Domain>",
+ "Detach Cache Monitoring Technology service from a domain or a pCPU",
+ "[-c|--cpu] <id>",
+ "By default (no -c), <id> is the domain id of the domain to stop monitoring.\n"
+ "-c|--cpu <id> Detach monitoring from CPU <id>."
},
{ "psr-cmt-show",
&main_psr_cmt_show, 0, 1,
next prev parent reply other threads:[~2015-04-04 2:15 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-04 2:14 [RFC PATCH 0/7] Intel Cache Monitoring: Current Status and Future Opportunities Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 1/7] x86: improve psr scheduling code Dario Faggioli
2015-04-06 13:48 ` Konrad Rzeszutek Wilk
2015-04-04 2:14 ` [RFC PATCH 2/7] Xen: x86: print max usable RMID during init Dario Faggioli
2015-04-06 13:48 ` Konrad Rzeszutek Wilk
2015-04-07 10:11 ` Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 3/7] xen: psr: reserve an RMID for each core Dario Faggioli
2015-04-06 13:59 ` Konrad Rzeszutek Wilk
2015-04-07 10:19 ` Dario Faggioli
2015-04-07 13:57 ` Konrad Rzeszutek Wilk
2015-04-07 8:24 ` Chao Peng
2015-04-07 10:07 ` Dario Faggioli
2015-04-08 13:28 ` George Dunlap
2015-04-08 14:03 ` Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 4/7] xen: libxc: libxl: report per-CPU cache occupancy up to libxl Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 5/7] xen: libxc: libxl: allow for attaching and detaching a CPU to CMT Dario Faggioli
2015-04-04 2:15 ` [RFC PATCH 6/7] xl: report per-CPU cache occupancy up to libxl Dario Faggioli
2015-04-04 2:15 ` Dario Faggioli [this message]
2015-04-07 8:19 ` [RFC PATCH 0/7] Intel Cache Monitoring: Current Status and Future Opportunities Chao Peng
2015-04-07 9:51 ` Dario Faggioli
2015-04-07 10:27 ` Andrew Cooper
2015-04-07 13:10 ` Dario Faggioli
2015-04-08 5:59 ` Chao Peng
2015-04-08 8:23 ` Dario Faggioli
2015-04-08 8:53 ` Andrew Cooper
2015-04-08 8:55 ` Chao Peng
2015-04-09 15:44 ` Meng Xu
2015-04-08 11:27 ` George Dunlap
2015-04-08 13:29 ` Dario Faggioli
2015-04-08 11:30 ` George Dunlap
2015-04-08 13:16 ` Dario Faggioli
2015-04-09 15:37 ` Meng Xu
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=20150404021514.22875.55856.stgit@Solace.station \
--to=dario.faggioli@citrix.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=chao.p.peng@linux.intel.com \
--cc=dongxiao.xu@intel.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.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 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.