[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0iMkADWu2P_cn9+8FV4HR+0eDF2uAwEMAZwTAMuE3kBkA@mail.gmail.com>
Date: Mon, 27 Mar 2023 18:51:33 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
Cc: "Peter Zijlstra (Intel)" <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Ricardo Neri <ricardo.neri@...el.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Ben Segall <bsegall@...gle.com>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Len Brown <len.brown@...el.com>, Mel Gorman <mgorman@...e.de>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Steven Rostedt <rostedt@...dmis.org>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Valentin Schneider <vschneid@...hat.com>,
Lukasz Luba <lukasz.luba@....com>,
Ionela Voinescu <ionela.voinescu@....com>, x86@...nel.org,
"Joel Fernandes (Google)" <joel@...lfernandes.org>,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
"Tim C . Chen" <tim.c.chen@...el.com>
Subject: Re: [PATCH v3 16/24] thermal: intel: hfi: Define a default class for
unclassified tasks
On Tue, Feb 7, 2023 at 6:02 AM Ricardo Neri
<ricardo.neri-calderon@...ux.intel.com> wrote:
>
> A task may be unclassified if it has been recently created, spend most of
> its lifetime sleeping, or hardware has not provided a classification.
>
> Most tasks will be eventually classified as scheduler's IPC class 1
> (HFI class 0). This class corresponds to the capabilities in the legacy,
> classless, HFI table.
>
> IPC class 1 is a reasonable choice until hardware provides an actual
> classification. Meanwhile, the scheduler will place classes of tasks with
> higher IPC scores on higher-performance CPUs.
>
> Cc: Ben Segall <bsegall@...gle.com>
> Cc: Daniel Bristot de Oliveira <bristot@...hat.com>
> Cc: Dietmar Eggemann <dietmar.eggemann@....com>
> Cc: Ionela Voinescu <ionela.voinescu@....com>
> Cc: Joel Fernandes (Google) <joel@...lfernandes.org>
> Cc: Len Brown <len.brown@...el.com>
> Cc: Lukasz Luba <lukasz.luba@....com>
> Cc: Mel Gorman <mgorman@...e.de>
> Cc: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
> Cc: Steven Rostedt <rostedt@...dmis.org>
> Cc: Tim C. Chen <tim.c.chen@...el.com>
> Cc: Valentin Schneider <vschneid@...hat.com>
> Cc: x86@...nel.org
> Cc: linux-pm@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org
> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
Fine with me, so
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> ---
> Changes since v2:
> * None
>
> Changes since v1:
> * Now the default class is 1.
> ---
> drivers/thermal/intel/intel_hfi.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/intel/intel_hfi.c b/drivers/thermal/intel/intel_hfi.c
> index fa9b4a678d92..7ea6acce7107 100644
> --- a/drivers/thermal/intel/intel_hfi.c
> +++ b/drivers/thermal/intel/intel_hfi.c
> @@ -185,6 +185,19 @@ static struct workqueue_struct *hfi_updates_wq;
> #ifdef CONFIG_IPC_CLASSES
> static int __percpu *hfi_ipcc_scores;
>
> +/*
> + * A task may be unclassified if it has been recently created, spend most of
> + * its lifetime sleeping, or hardware has not provided a classification.
> + *
> + * Most tasks will be classified as scheduler's IPC class 1 (HFI class 0)
> + * eventually. Meanwhile, the scheduler will place classes of tasks with higher
> + * IPC scores on higher-performance CPUs.
> + *
> + * IPC class 1 is a reasonable choice. It matches the performance capability
> + * of the legacy, classless, HFI table.
> + */
> +#define HFI_UNCLASSIFIED_DEFAULT 1
> +
> void intel_hfi_update_ipcc(struct task_struct *curr)
> {
> union hfi_thread_feedback_char_msr msr;
> @@ -215,7 +228,7 @@ unsigned long intel_hfi_get_ipcc_score(unsigned short ipcc, int cpu)
> return -EINVAL;
>
> if (ipcc == IPC_CLASS_UNCLASSIFIED)
> - return -EINVAL;
> + ipcc = HFI_UNCLASSIFIED_DEFAULT;
>
> /*
> * Scheduler IPC classes start at 1. HFI classes start at 0.
> --
> 2.25.1
>
Powered by blists - more mailing lists