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

Re: [Xen-devel] [PATCH v2 11/15] tools: implement the new xl get hw info interface



On Thu, Aug 24, 2017 at 09:14:45AM +0800, Yi Sun wrote:
> This patch implements a new xl get HW info interface. A new argument
> is added for psr-hwinfo command to get and show MBA HW info.
> 
> Signed-off-by: Yi Sun <yi.y.sun@xxxxxxxxxxxxxxx>
> ---
> v2:
>     - split out this patch from a big patch in v1.
>       (suggested by Wei Liu)
>     - change 'MBA_INFO' to 'MBA'. Also, change 'mba_info' to 'mba'.
>       (suggested by Chao Peng)
> ---
>  tools/xl/xl_cmdtable.c |  1 +
>  tools/xl/xl_psr.c      | 39 +++++++++++++++++++++++++++++++++++++--
>  2 files changed, 38 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
> index 2c71a9f..5ac8a7e 100644
> --- a/tools/xl/xl_cmdtable.c
> +++ b/tools/xl/xl_cmdtable.c
> @@ -524,6 +524,7 @@ struct cmd_spec cmd_table[] = {
>        "[options]",
>        "-m, --cmt       Show Cache Monitoring Technology (CMT) hardware 
> info\n"
>        "-a, --cat       Show Cache Allocation Technology (CAT) hardware 
> info\n"
> +      "-b, --mba       Show Memory Bandwidth Allocation (MBA) hardware 
> info\n"
>      },
>      { "psr-cmt-attach",
>        &main_psr_cmt_attach, 0, 1,
> diff --git a/tools/xl/xl_psr.c b/tools/xl/xl_psr.c
> index 7309d4f..ea37967 100644
> --- a/tools/xl/xl_psr.c
> +++ b/tools/xl/xl_psr.c
> @@ -479,6 +479,33 @@ static int psr_l2_cat_hwinfo(void)
>      return rc;
>  }
>  
> +static int psr_mba_hwinfo(void)
> +{
> +    int rc;
> +    unsigned int i, nr;
> +    libxl_psr_hw_info *info;
> +
> +    rc = libxl_psr_get_hw_info(ctx, &info, &nr,
> +                               LIBXL_PSR_FEAT_TYPE_MBA, 0);
> +    if (rc)
> +        return rc;
> +
> +    printf("Memory Bandwidth Allocation (MBA):\n");
> +
> +    for (i = 0; i < nr; i++) {
> +        printf("%-16s: %u\n", "Socket ID", info[i].id);
> +        printf("%-16s: %s\n", "Linear Mode",
> +               info[i].u.mba.linear ? "Enabled" : "Disabled");
> +        printf("%-16s: %u\n", "Maximum COS", info[i].u.mba.cos_max);
> +        printf("%-16s: %u\n", "Maximum Throttling Value",
> +               info[i].u.mba.thrtl_max);
> +        printf("%-16s: %u\n", "Default Throttling Value", 0);

If you really want to left-justify, shouldn't you choose a value that
aligns everything nicely (strlen("Default Throttling Valu") is
already greater than 16).

In fact you can do the alignment manually in the format string, and
avoid passing the name as the first parameter.

> +    }
> +
> +    libxl_psr_hw_info_list_free(info, nr);
> +    return rc;
> +}
> +
>  int main_psr_cat_cbm_set(int argc, char **argv)
>  {
>      uint32_t domid;
> @@ -597,20 +624,24 @@ int main_psr_cat_show(int argc, char **argv)
>  int main_psr_hwinfo(int argc, char **argv)
>  {
>      int opt, ret = 0;
> -    bool all = true, cmt = false, cat = false;
> +    bool all = true, cmt = false, cat = false, mba = false;
>      static struct option opts[] = {

const?

Roger.

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

 


Rackspace

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