Re: [PATCH] ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs

From: Rafael J. Wysocki
Date: Fri Feb 08 2019 - 06:35:12 EST


On Thursday, February 7, 2019 5:21:35 PM CET Jeremy Linton wrote:
> Hi,
>
> On 2/7/19 10:14 AM, John Garry wrote:
> > For a system using ACPI-based FW without a PPTT, we may get many warnings
> > about the lack of a PPTT, as shown:
> >
> > root@(none)$ dmesg | grep -i pptt
> > [ 0.010125] ACPI PPTT: No PPTT table found, cpu topology may be inaccurate
> > [ 7.138339] ACPI PPTT: No PPTT table found, cache topology may be inaccurate
> > [ 7.145368] ACPI PPTT: No PPTT table found, cache topology may be inaccurate
> >
> > These logs are generated with pr_warn_once(), so the intention was for a
> > single log, but the logs overlap, so consolidate them.
> >
> > Signed-off-by: John Garry <john.garry@xxxxxxxxxx>
> >
> > diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c
> > index da031b1df6f5..ad31c50de3be 100644
> > --- a/drivers/acpi/pptt.c
> > +++ b/drivers/acpi/pptt.c
> > @@ -451,6 +451,11 @@ static struct acpi_pptt_processor *acpi_find_processor_package_id(struct acpi_ta
> > return cpu;
> > }
> >
> > +static void acpi_pptt_warn_missing(void)
> > +{
> > + pr_warn_once("No PPTT table found, cpu and cache topology may be inaccurate\n");
> > +}
> > +
> > /**
> > * topology_get_acpi_cpu_tag() - Find a unique topology value for a feature
> > * @table: Pointer to the head of the PPTT table
> > @@ -498,7 +503,7 @@ static int find_acpi_cpu_topology_tag(unsigned int cpu, int level, int flag)
> >
> > status = acpi_get_table(ACPI_SIG_PPTT, 0, &table);
> > if (ACPI_FAILURE(status)) {
> > - pr_warn_once("No PPTT table found, cpu topology may be inaccurate\n");
> > + acpi_pptt_warn_missing();
> > return -ENOENT;
> > }
> > retval = topology_get_acpi_cpu_tag(table, cpu, level, flag);
> > @@ -531,7 +536,7 @@ int acpi_find_last_cache_level(unsigned int cpu)
> > acpi_cpu_id = get_acpi_id_for_cpu(cpu);
> > status = acpi_get_table(ACPI_SIG_PPTT, 0, &table);
> > if (ACPI_FAILURE(status)) {
> > - pr_warn_once("No PPTT table found, cache topology may be inaccurate\n");
> > + acpi_pptt_warn_missing();
> > } else {
> > number_of_levels = acpi_find_cache_levels(table, acpi_cpu_id);
> > acpi_put_table(table);
> > @@ -563,7 +568,7 @@ int cache_setup_acpi(unsigned int cpu)
> >
> > status = acpi_get_table(ACPI_SIG_PPTT, 0, &table);
> > if (ACPI_FAILURE(status)) {
> > - pr_warn_once("No PPTT table found, cache topology may be inaccurate\n");
> > + acpi_pptt_warn_missing();
> > return -ENOENT;
> > }
> >
> > @@ -617,7 +622,7 @@ int find_acpi_cpu_cache_topology(unsigned int cpu, int level)
> >
> > status = acpi_get_table(ACPI_SIG_PPTT, 0, &table);
> > if (ACPI_FAILURE(status)) {
> > - pr_warn_once("No PPTT table found, topology may be inaccurate\n");
> > + acpi_pptt_warn_missing();
> > return -ENOENT;
> > }
> >
> >
>
> This all looks fine to me,
>
> Reviewed-by: Jeremy Linton <jeremy.linton@xxxxxxx>
>
> Thanks!
>

Patch applied, thanks!