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

RE: [PATCH v5 14/18] xen/cpufreq: introduce GET_CPUFREQ_CPPC sub-cmd


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: "Penny, Zheng" <penny.zheng@xxxxxxx>
  • Date: Fri, 4 Jul 2025 08:13:29 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZBIwO7+OOnTjhipSD5adCf4hsQnylgERGlNEZY02FXY=; b=QqCqnXF/voY53iZtBHoXt80DZH8Uw0XJqgYZ99KDY36xgSzzK8zjMf1DY3mGcFqhi4mv7vuCziXADyjQ8h/480zs9hC08VJYhIZc/lnBO5TPqIg7zFQsVqsn8bkJkdXVHvXH6sBpUscvebOxt2UUYdz9nyUhDT+VYnwjVX12uQrBEVxpK2arH+v0xsCcumw8zJNbaw8ASG6xmWQy3+xgwKtg8tHTrBht+aJ/W/mBxv3eCvaxCiAm1YiZv+jHeIKhU3tFNQkNWUt/rna6avMkM7y8LRjw1FY4+e8dGlxuXyDj9rYOJVZYiqQN66NjEi89O7bZa2N49P+rR+eq0RNj6g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uyJnAccjFkpYQkHqE1Hjrzso1qb2Q7kZgeslw5Hds9ep5wVYLbTx9kNWf4mghAVZLqSCzosXFgGdXwEXhwyAzmVrcx/qbMFmw/TK2DqKdZ/HevE2nn5N6f6/tYYrFMGdVBO7JreTDMzBg7Xh7pEo7N4N8RTuhZiaAMIFAVTWIuy65UJyoiYBTTxlffVA53xOIF6iUKzedzlPGpxZhnSXy0cSMi0IbfJEMke9L1NwxRRCVCnicmMYFSNYLlmMqQDd3Pkzf2g1LKehsgLLzmDTibzvOk/366HLXZx0PPlqmYm/imP0ql1ne8BH4Vw42oZPXkkS5mfQoJq/0KJaV4Eojw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: "Huang, Ray" <Ray.Huang@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, "Orzel, Michal" <Michal.Orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 04 Jul 2025 08:13:50 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Msip_labels: MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-07-04T08:13:15.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
  • Thread-index: AQHbzuRKQ5+TGdD3B0+TZYuot60QS7QHQcCAgBqT2LA=
  • Thread-topic: [PATCH v5 14/18] xen/cpufreq: introduce GET_CPUFREQ_CPPC sub-cmd

[Public]

> -----Original Message-----
> From: Jan Beulich <jbeulich@xxxxxxxx>
> Sent: Tuesday, June 17, 2025 6:08 PM
> To: Penny, Zheng <penny.zheng@xxxxxxx>
> Cc: Huang, Ray <Ray.Huang@xxxxxxx>; Anthony PERARD
> <anthony.perard@xxxxxxxxxx>; Juergen Gross <jgross@xxxxxxxx>; Andrew
> Cooper <andrew.cooper3@xxxxxxxxxx>; Orzel, Michal <Michal.Orzel@xxxxxxx>;
> Julien Grall <julien@xxxxxxx>; Roger Pau Monné <roger.pau@xxxxxxxxxx>; Stefano
> Stabellini <sstabellini@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH v5 14/18] xen/cpufreq: introduce GET_CPUFREQ_CPPC sub-
> cmd
>
> On 27.05.2025 10:48, Penny Zheng wrote:
> > --- a/tools/misc/xenpm.c
> > +++ b/tools/misc/xenpm.c
> > @@ -69,6 +69,7 @@ void show_help(void)
> >              " set-max-cstate        <num>|'unlimited' 
> > [<num2>|'unlimited']\n"
> >              "                                     set the C-State 
> > limitation (<num> >= 0) and\n"
> >              "                                     optionally the 
> > C-sub-state limitation
> (<num2> >= 0)\n"
> > +            " get-cpufreq-cppc      [cpuid]       list cpu cppc parameter 
> > of CPU
> <cpuid> or all\n"
> >              " set-cpufreq-cppc      [cpuid] [balance|performance|powersave]
> <param:val>*\n"
> >              "                                     set Hardware P-State 
> > (HWP) parameters\n"
> >              "                                     on CPU <cpuid> or all if 
> > omitted.\n"
> > @@ -812,33 +813,7 @@ static void print_cpufreq_para(int cpuid, struct
> > xc_get_cpufreq_para *p_cpufreq)
> >
> >      printf("scaling_driver       : %s\n", p_cpufreq->scaling_driver);
> >
> > -    if ( hwp )
> > -    {
> > -        const xc_cppc_para_t *cppc = &p_cpufreq->u.cppc_para;
> > -
> > -        printf("cppc variables       :\n");
> > -        printf("  hardware limits    : lowest [%"PRIu32"] lowest nonlinear
> [%"PRIu32"]\n",
> > -               cppc->lowest, cppc->lowest_nonlinear);
> > -        printf("                     : nominal [%"PRIu32"] highest 
> > [%"PRIu32"]\n",
> > -               cppc->nominal, cppc->highest);
> > -        printf("  configured limits  : min [%"PRIu32"] max [%"PRIu32"] 
> > energy perf
> [%"PRIu32"]\n",
> > -               cppc->minimum, cppc->maximum, cppc->energy_perf);
> > -
> > -        if ( cppc->features & XEN_SYSCTL_CPPC_FEAT_ACT_WINDOW )
> > -        {
> > -            unsigned int activity_window;
> > -            const char *units;
> > -
> > -            activity_window = calculate_activity_window(cppc, &units);
> > -            printf("                     : activity_window [%"PRIu32" 
> > %s]\n",
> > -                   activity_window, units);
> > -        }
> > -
> > -        printf("                     : desired [%"PRIu32"%s]\n",
> > -               cppc->desired,
> > -               cppc->desired ? "" : " hw autonomous");
> > -    }
> > -    else
> > +    if ( !hwp )
> >      {
> >          if ( p_cpufreq->gov_num )
> >              printf("scaling_avail_gov    : %s\n",
>
> I'm not sure it is a good idea to alter what is being output for 
> get-cpufreq-para.
> People may simply miss that output then, without having any indication where 
> it
> went.

Hwp is more like amd-cppc in active mode. It also does not rely on Xen governor 
to do performance tuning, so in previous design, we could borrow governor filed 
to output cppc info
However after introducing amd-cppc passive mode, we have request to output both 
governor and CPPC info. And if continuing expanding get-cpufreq-para to include 
CPPC info, it will make the parent stuct xen_sysctl.u exceed exceed 128 bytes. 
So I'm left to create a new subcmd to specifically deal with CPPC info
I could leave above output for get-cpufreq-para unchanged. Then we will have 
duplicate CPPC info in two commands. Or is it fine to do that?

>
>
> Jan

 


Rackspace

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