[v2] perf stat: Add missing newline in pr_err messages

Message ID 20230610094441.221525-1-yangjihong1@huawei.com
State New
Headers
Series [v2] perf stat: Add missing newline in pr_err messages |

Commit Message

Yang Jihong June 10, 2023, 9:44 a.m. UTC
  The newline is missing for error messages in add_default_attributes()

Before:

  # perf stat --topdown
  Topdown requested but the topdown metric groups aren't present.
  (See perf list the metric groups have names like TopdownL1)#

After:

  # perf stat --topdown
  Topdown requested but the topdown metric groups aren't present.
  (See perf list the metric groups have names like TopdownL1)
  #

In addition, perf_stat_init_aggr_mode() and perf_stat_init_aggr_mode_file()
have the same problem, fixed by the way.

Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
---

Changes since v1:
 - Correct commit title to `pr_err`

 tools/perf/builtin-stat.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
  

Comments

James Clark June 12, 2023, 8:31 a.m. UTC | #1
On 10/06/2023 10:44, Yang Jihong wrote:
> The newline is missing for error messages in add_default_attributes()
> 
> Before:
> 
>   # perf stat --topdown
>   Topdown requested but the topdown metric groups aren't present.
>   (See perf list the metric groups have names like TopdownL1)#
> 
> After:
> 
>   # perf stat --topdown
>   Topdown requested but the topdown metric groups aren't present.
>   (See perf list the metric groups have names like TopdownL1)
>   #
> 
> In addition, perf_stat_init_aggr_mode() and perf_stat_init_aggr_mode_file()
> have the same problem, fixed by the way.
> 
> Signed-off-by: Yang Jihong <yangjihong1@huawei.com>

Reviewed-by: James Clark <james.clark@arm.com>

> ---
> 
> Changes since v1:
>  - Correct commit title to `pr_err`
> 
>  tools/perf/builtin-stat.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index b9ad32f21e57..78644ae538c4 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -1398,7 +1398,7 @@ static int perf_stat_init_aggr_mode(void)
>  		stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus,
>  							 get_id, /*data=*/NULL, needs_sort);
>  		if (!stat_config.aggr_map) {
> -			pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]);
> +			pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]);
>  			return -1;
>  		}
>  		stat_config.aggr_get_id = aggr_mode__get_id(stat_config.aggr_mode);
> @@ -1650,7 +1650,7 @@ static int perf_stat_init_aggr_mode_file(struct perf_stat *st)
>  	stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus,
>  						 get_id, env, needs_sort);
>  	if (!stat_config.aggr_map) {
> -		pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]);
> +		pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]);
>  		return -1;
>  	}
>  	stat_config.aggr_get_id = aggr_mode__get_id_file(stat_config.aggr_mode);
> @@ -1789,7 +1789,7 @@ static int add_default_attributes(void)
>  		 * on an architecture test for such a metric name.
>  		 */
>  		if (!metricgroup__has_metric("transaction")) {
> -			pr_err("Missing transaction metrics");
> +			pr_err("Missing transaction metrics\n");
>  			return -1;
>  		}
>  		return metricgroup__parse_groups(evsel_list, "transaction",
> @@ -1805,7 +1805,7 @@ static int add_default_attributes(void)
>  		int smi;
>  
>  		if (sysfs__read_int(FREEZE_ON_SMI_PATH, &smi) < 0) {
> -			pr_err("freeze_on_smi is not supported.");
> +			pr_err("freeze_on_smi is not supported.\n");
>  			return -1;
>  		}
>  
> @@ -1818,7 +1818,7 @@ static int add_default_attributes(void)
>  		}
>  
>  		if (!metricgroup__has_metric("smi")) {
> -			pr_err("Missing smi metrics");
> +			pr_err("Missing smi metrics\n");
>  			return -1;
>  		}
>  
> @@ -1843,7 +1843,7 @@ static int add_default_attributes(void)
>  
>  		if (!max_level) {
>  			pr_err("Topdown requested but the topdown metric groups aren't present.\n"
> -				"(See perf list the metric groups have names like TopdownL1)");
> +				"(See perf list the metric groups have names like TopdownL1)\n");
>  			return -1;
>  		}
>  		if (stat_config.topdown_level > max_level) {
  
Arnaldo Carvalho de Melo June 12, 2023, 6:55 p.m. UTC | #2
Em Sat, Jun 10, 2023 at 09:44:41AM +0000, Yang Jihong escreveu:
> The newline is missing for error messages in add_default_attributes()
> 
> Before:
> 
>   # perf stat --topdown
>   Topdown requested but the topdown metric groups aren't present.
>   (See perf list the metric groups have names like TopdownL1)#
> 
> After:
> 
>   # perf stat --topdown
>   Topdown requested but the topdown metric groups aren't present.
>   (See perf list the metric groups have names like TopdownL1)
>   #
> 
> In addition, perf_stat_init_aggr_mode() and perf_stat_init_aggr_mode_file()
> have the same problem, fixed by the way.

Wait a bit till I push what I had to perf-tools-next, as it is not
applying right now:

⬢[acme@toolbox perf-tools-next]$ patch -p1 < ~/wb/1.patch
patching file tools/perf/builtin-stat.c
Hunk #1 succeeded at 1594 (offset 196 lines).
Hunk #2 succeeded at 1910 (offset 260 lines).
Hunk #3 FAILED at 1789.
Hunk #4 succeeded at 2066 (offset 261 lines).
Hunk #5 FAILED at 1818.
Hunk #6 succeeded at 2104 (offset 261 lines).
2 out of 6 hunks FAILED -- saving rejects to file tools/perf/builtin-stat.c.rej
⬢[acme@toolbox perf-tools-next]$
 
> Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
> ---
> 
> Changes since v1:
>  - Correct commit title to `pr_err`
> 
>  tools/perf/builtin-stat.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index b9ad32f21e57..78644ae538c4 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -1398,7 +1398,7 @@ static int perf_stat_init_aggr_mode(void)
>  		stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus,
>  							 get_id, /*data=*/NULL, needs_sort);
>  		if (!stat_config.aggr_map) {
> -			pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]);
> +			pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]);
>  			return -1;
>  		}
>  		stat_config.aggr_get_id = aggr_mode__get_id(stat_config.aggr_mode);
> @@ -1650,7 +1650,7 @@ static int perf_stat_init_aggr_mode_file(struct perf_stat *st)
>  	stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus,
>  						 get_id, env, needs_sort);
>  	if (!stat_config.aggr_map) {
> -		pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]);
> +		pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]);
>  		return -1;
>  	}
>  	stat_config.aggr_get_id = aggr_mode__get_id_file(stat_config.aggr_mode);
> @@ -1789,7 +1789,7 @@ static int add_default_attributes(void)
>  		 * on an architecture test for such a metric name.
>  		 */
>  		if (!metricgroup__has_metric("transaction")) {
> -			pr_err("Missing transaction metrics");
> +			pr_err("Missing transaction metrics\n");
>  			return -1;
>  		}
>  		return metricgroup__parse_groups(evsel_list, "transaction",
> @@ -1805,7 +1805,7 @@ static int add_default_attributes(void)
>  		int smi;
>  
>  		if (sysfs__read_int(FREEZE_ON_SMI_PATH, &smi) < 0) {
> -			pr_err("freeze_on_smi is not supported.");
> +			pr_err("freeze_on_smi is not supported.\n");
>  			return -1;
>  		}
>  
> @@ -1818,7 +1818,7 @@ static int add_default_attributes(void)
>  		}
>  
>  		if (!metricgroup__has_metric("smi")) {
> -			pr_err("Missing smi metrics");
> +			pr_err("Missing smi metrics\n");
>  			return -1;
>  		}
>  
> @@ -1843,7 +1843,7 @@ static int add_default_attributes(void)
>  
>  		if (!max_level) {
>  			pr_err("Topdown requested but the topdown metric groups aren't present.\n"
> -				"(See perf list the metric groups have names like TopdownL1)");
> +				"(See perf list the metric groups have names like TopdownL1)\n");
>  			return -1;
>  		}
>  		if (stat_config.topdown_level > max_level) {
> -- 
> 2.30.GIT
>
  
Yang Jihong June 13, 2023, 1:32 a.m. UTC | #3
Hello,

On 2023/6/13 2:55, Arnaldo Carvalho de Melo wrote:
> Em Sat, Jun 10, 2023 at 09:44:41AM +0000, Yang Jihong escreveu:
>> The newline is missing for error messages in add_default_attributes()
>>
>> Before:
>>
>>    # perf stat --topdown
>>    Topdown requested but the topdown metric groups aren't present.
>>    (See perf list the metric groups have names like TopdownL1)#
>>
>> After:
>>
>>    # perf stat --topdown
>>    Topdown requested but the topdown metric groups aren't present.
>>    (See perf list the metric groups have names like TopdownL1)
>>    #
>>
>> In addition, perf_stat_init_aggr_mode() and perf_stat_init_aggr_mode_file()
>> have the same problem, fixed by the way.
> 
> Wait a bit till I push what I had to perf-tools-next, as it is not
> applying right now:
OK, I'm doing the patch based on the mainline, and if I need to do it 
based on the perf-tools-next branch, I'll reissue it.

Thanks,
Yang.
  
Arnaldo Carvalho de Melo June 13, 2023, 7:45 p.m. UTC | #4
Em Tue, Jun 13, 2023 at 09:32:05AM +0800, Yang Jihong escreveu:
> On 2023/6/13 2:55, Arnaldo Carvalho de Melo wrote:
> > Em Sat, Jun 10, 2023 at 09:44:41AM +0000, Yang Jihong escreveu:
> > > The newline is missing for error messages in add_default_attributes()
> > > 
> > > Before:
> > > 
> > >    # perf stat --topdown
> > >    Topdown requested but the topdown metric groups aren't present.
> > >    (See perf list the metric groups have names like TopdownL1)#
> > > 
> > > After:
> > > 
> > >    # perf stat --topdown
> > >    Topdown requested but the topdown metric groups aren't present.
> > >    (See perf list the metric groups have names like TopdownL1)
> > >    #
> > > 
> > > In addition, perf_stat_init_aggr_mode() and perf_stat_init_aggr_mode_file()
> > > have the same problem, fixed by the way.
> > 
> > Wait a bit till I push what I had to perf-tools-next, as it is not
> > applying right now:
> OK, I'm doing the patch based on the mainline, and if I need to do it based
> on the perf-tools-next branch, I'll reissue it.

For patches for the currente perf development cycle the perf-tools-next
branch of:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git

Should be used.

Hopefully soon we will transition to:

git://git.kernel.org/pub/scm/linux/kernel/git/perf-tools/perf-tools-next.git

And also:

git://git.kernel.org/pub/scm/linux/kernel/git/perf-tools/perf-tools.git

For fixes geared to the current merge window, when we are accepting just
fixes.

- Arnaldo
  
Yang Jihong June 14, 2023, 2:12 a.m. UTC | #5
Hello,

On 2023/6/14 3:45, Arnaldo Carvalho de Melo wrote:
> Em Tue, Jun 13, 2023 at 09:32:05AM +0800, Yang Jihong escreveu:
>> On 2023/6/13 2:55, Arnaldo Carvalho de Melo wrote:
>>> Em Sat, Jun 10, 2023 at 09:44:41AM +0000, Yang Jihong escreveu:
>>>> The newline is missing for error messages in add_default_attributes()
>>>>
>>>> Before:
>>>>
>>>>     # perf stat --topdown
>>>>     Topdown requested but the topdown metric groups aren't present.
>>>>     (See perf list the metric groups have names like TopdownL1)#
>>>>
>>>> After:
>>>>
>>>>     # perf stat --topdown
>>>>     Topdown requested but the topdown metric groups aren't present.
>>>>     (See perf list the metric groups have names like TopdownL1)
>>>>     #
>>>>
>>>> In addition, perf_stat_init_aggr_mode() and perf_stat_init_aggr_mode_file()
>>>> have the same problem, fixed by the way.
>>>
>>> Wait a bit till I push what I had to perf-tools-next, as it is not
>>> applying right now:
>> OK, I'm doing the patch based on the mainline, and if I need to do it based
>> on the perf-tools-next branch, I'll reissue it.
> 
> For patches for the currente perf development cycle the perf-tools-next
> branch of:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git
> 
> Should be used.
> 
> Hopefully soon we will transition to:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/perf-tools/perf-tools-next.git
> 
> And also:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/perf-tools/perf-tools.git
> 
> For fixes geared to the current merge window, when we are accepting just
> fixes.
> 

Thanks for the guidance, I'll resend the patch based on the 
perf-tools-next branch.

Thanks,
Yang.
  

Patch

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index b9ad32f21e57..78644ae538c4 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1398,7 +1398,7 @@  static int perf_stat_init_aggr_mode(void)
 		stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus,
 							 get_id, /*data=*/NULL, needs_sort);
 		if (!stat_config.aggr_map) {
-			pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]);
+			pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]);
 			return -1;
 		}
 		stat_config.aggr_get_id = aggr_mode__get_id(stat_config.aggr_mode);
@@ -1650,7 +1650,7 @@  static int perf_stat_init_aggr_mode_file(struct perf_stat *st)
 	stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus,
 						 get_id, env, needs_sort);
 	if (!stat_config.aggr_map) {
-		pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]);
+		pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]);
 		return -1;
 	}
 	stat_config.aggr_get_id = aggr_mode__get_id_file(stat_config.aggr_mode);
@@ -1789,7 +1789,7 @@  static int add_default_attributes(void)
 		 * on an architecture test for such a metric name.
 		 */
 		if (!metricgroup__has_metric("transaction")) {
-			pr_err("Missing transaction metrics");
+			pr_err("Missing transaction metrics\n");
 			return -1;
 		}
 		return metricgroup__parse_groups(evsel_list, "transaction",
@@ -1805,7 +1805,7 @@  static int add_default_attributes(void)
 		int smi;
 
 		if (sysfs__read_int(FREEZE_ON_SMI_PATH, &smi) < 0) {
-			pr_err("freeze_on_smi is not supported.");
+			pr_err("freeze_on_smi is not supported.\n");
 			return -1;
 		}
 
@@ -1818,7 +1818,7 @@  static int add_default_attributes(void)
 		}
 
 		if (!metricgroup__has_metric("smi")) {
-			pr_err("Missing smi metrics");
+			pr_err("Missing smi metrics\n");
 			return -1;
 		}
 
@@ -1843,7 +1843,7 @@  static int add_default_attributes(void)
 
 		if (!max_level) {
 			pr_err("Topdown requested but the topdown metric groups aren't present.\n"
-				"(See perf list the metric groups have names like TopdownL1)");
+				"(See perf list the metric groups have names like TopdownL1)\n");
 			return -1;
 		}
 		if (stat_config.topdown_level > max_level) {