From: Andrew Cooper <andrew.cooper3@citrix.com>
To: He Chen <he.chen@linux.intel.com>, xen-devel@lists.xenproject.org
Cc: wei.liu2@citrix.com, ian.campbell@citrix.com,
stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com,
jbeulich@suse.com, chao.p.peng@linux.intel.com, keir@xen.org
Subject: Re: [PATCH v4 3/4] tools: add tools support for Intel CDP
Date: Thu, 17 Sep 2015 11:38:04 +0100 [thread overview]
Message-ID: <55FA980C.6040401@citrix.com> (raw)
In-Reply-To: <1442482536-12024-4-git-send-email-he.chen@linux.intel.com>
On 17/09/15 10:35, He Chen wrote:
> @@ -2798,7 +2798,9 @@ enum xc_psr_cmt_type {
> typedef enum xc_psr_cmt_type xc_psr_cmt_type;
>
> enum xc_psr_cat_type {
> - XC_PSR_CAT_L3_CBM = 1,
> + XC_PSR_CAT_L3_CBM = 1,
> + XC_PSR_CAT_L3_CODE = 2,
> + XC_PSR_CAT_L3_DATA = 3,
> };
No need for the explicit assignments here. The exact values are not
interesting and guaranteed to be as currently assigned.
> typedef enum xc_psr_cat_type xc_psr_cat_type;
>
> @@ -306,7 +318,8 @@ int xc_psr_cat_get_domain_data(xc_interface *xch, uint32_t domid,
> }
>
> int xc_psr_cat_get_l3_info(xc_interface *xch, uint32_t socket,
> - uint32_t *cos_max, uint32_t *cbm_len)
> + uint32_t *cos_max, uint32_t *cbm_len,
> + bool *cdp_enabled)
> {
> int rc;
> DECLARE_SYSCTL;
> @@ -320,6 +333,8 @@ int xc_psr_cat_get_l3_info(xc_interface *xch, uint32_t socket,
> {
> *cos_max = sysctl.u.psr_cat_op.u.l3_info.cos_max;
> *cbm_len = sysctl.u.psr_cat_op.u.l3_info.cbm_len;
> + *cdp_enabled = sysctl.u.psr_cat_op.u.l3_info.flags &
> + XEN_SYSCTL_PSR_CAT_L3_CDP;
!!(sysctl.u.psr_cat_op.u.l3_info.flags & XEN_SYSCTL_PSR_CAT_L3_CDP);
To turn it into a proper boolean, rather than a just a non-zero integer.
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index ebbb9a5..8128f54 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -8390,6 +8390,10 @@ static int psr_cat_hwinfo(void)
> }
> printf("%-16s: %u\n", "Socket ID", socketid);
> printf("%-16s: %uKB\n", "L3 Cache", l3_cache_size);
> + if (info->cdp_enabled)
> + printf("%-16s: Enabled\n", "CDP Status");
> + else
> + printf("%-16s: Disabled\n", "CDP Status");
printf("%-16s: %sabled\n", "CDP Status", info->cdp_enabled ? "En" : "Dis");
is rather shorter, if you prefer.
> printf("%-16s: %u\n", "Maximum COS", info->cos_max);
> printf("%-16s: %u\n", "CBM length", info->cbm_len);
> printf("%-16s: %#llx\n", "Default CBM",
> @@ -8401,7 +8405,8 @@ out:
> return rc;
> }
>
> -static void psr_cat_print_one_domain_cbm(uint32_t domid, uint32_t socketid)
> +static void psr_cat_print_one_domain_cbm(uint32_t domid, uint32_t socketid,
> + bool cdp_enabled)
> {
> char *domain_name;
> uint64_t cbm;
> @@ -8410,20 +8415,29 @@ static void psr_cat_print_one_domain_cbm(uint32_t domid, uint32_t socketid)
> printf("%5d%25s", domid, domain_name);
> free(domain_name);
>
> - if (!libxl_psr_cat_get_cbm(ctx, domid, LIBXL_PSR_CBM_TYPE_L3_CBM,
> - socketid, &cbm))
> - printf("%#16"PRIx64, cbm);
> -
> + if (!cdp_enabled) {
> + if (!libxl_psr_cat_get_cbm(ctx, domid, LIBXL_PSR_CBM_TYPE_L3_CBM,
> + socketid, &cbm))
> + printf("%#16"PRIx64, cbm);
Mixing # and an explicit width of the integer will clip two nibbles of
the integer.
In this situation, the correct formatting is "0x%016"PRIx64, or
"%#018"PRIx64
> diff --git a/tools/libxl/xl_cmdtable.c b/tools/libxl/xl_cmdtable.c
> index 0071f12..13e7aa1 100644
> --- a/tools/libxl/xl_cmdtable.c
> +++ b/tools/libxl/xl_cmdtable.c
> @@ -543,6 +543,8 @@ struct cmd_spec cmd_table[] = {
> "Set cache capacity bitmasks(CBM) for a domain",
> "[options] <Domain> <CBM>",
> "-s <socket> Specify the socket to process, otherwise all sockets are processed\n"
> + "-c Set code CBM if CDP is supported\n"
> + "-d Set data CBM if CDP is supported\n"
> },
> { "psr-cat-show",
> &main_psr_cat_show, 0, 1,
> @@ -551,6 +553,7 @@ struct cmd_spec cmd_table[] = {
> },
>
> #endif
> +
Spurious whitespace change.
~Andrew
next prev parent reply other threads:[~2015-09-17 10:38 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-17 9:35 [PATCH v4 0/4] detect and initialize CDP (Code/Data Prioritization) feature He Chen
2015-09-17 9:35 ` [PATCH v4 1/4] x86: Support enable CDP by boot parameter and add get CDP status He Chen
2015-09-17 10:20 ` Andrew Cooper
2015-09-24 15:57 ` Jan Beulich
2015-09-17 9:35 ` [PATCH v4 2/4] x86: add domctl cmd to set/get CDP code/data CBM He Chen
2015-09-17 10:25 ` Andrew Cooper
2015-09-17 9:35 ` [PATCH v4 3/4] tools: add tools support for Intel CDP He Chen
2015-09-17 10:38 ` Andrew Cooper [this message]
2015-09-24 10:56 ` Ian Campbell
2015-09-24 10:57 ` Ian Campbell
2015-09-24 11:12 ` Andrew Cooper
2015-09-24 11:00 ` Ian Campbell
2015-09-24 11:50 ` Jan Beulich
2015-09-24 12:07 ` Ian Campbell
2015-09-24 12:20 ` Jan Beulich
2015-09-24 12:31 ` Ian Campbell
2015-09-24 11:07 ` Ian Campbell
2015-09-24 11:22 ` Ian Campbell
2015-09-25 9:04 ` He Chen
2015-09-25 9:19 ` Ian Campbell
2015-09-25 8:43 ` He Chen
2015-09-25 9:18 ` Ian Campbell
2015-09-25 9:53 ` He Chen
2015-09-25 10:30 ` Ian Campbell
2015-09-17 9:35 ` [PATCH v4 4/4] docs: add document to introduce CDP command He Chen
2015-09-24 11:22 ` Ian Campbell
2015-09-24 11:53 ` Jan Beulich
2015-09-25 9:29 ` He Chen
2015-09-25 9:58 ` Ian Campbell
2015-09-25 10:16 ` He Chen
2015-09-25 10:38 ` 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=55FA980C.6040401@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=chao.p.peng@linux.intel.com \
--cc=he.chen@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 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.