Message ID | 1549556061-107418-1-git-send-email-john.garry@huawei.com |
---|---|
State | Accepted |
Commit | 6cafe700b08cfd261a279b9e5ed99f3a346fe3b0 |
Headers | show |
Series | ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs | expand |
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@huawei.com> > > 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@arm.com> Thanks!
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@huawei.com> > > > > 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@arm.com> > > Thanks! > Patch applied, thanks!
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; }
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@huawei.com> -- 2.17.1