diff mbox series

ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs

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

Commit Message

John Garry Feb. 7, 2019, 4:14 p.m. UTC
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

Comments

Jeremy Linton Feb. 7, 2019, 4:21 p.m. UTC | #1
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!
Rafael J. Wysocki Feb. 8, 2019, 11:33 a.m. UTC | #2
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 mbox series

Patch

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;
 	}