2022-10-12 10:56:06

by Li kunyu

[permalink] [raw]
Subject: [PATCH] power: cpupower: utils: Optimize print_online_cpus and print_offline_cpus function

1. Remove the initialization assignment of variables, and they will be
assigned first.
2. Remove the mandatory conversion of returned value of malloc function,
which returns void* type.

Signed-off-by: Li kunyu <[email protected]>
---
tools/power/cpupower/utils/helpers/misc.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/power/cpupower/utils/helpers/misc.c b/tools/power/cpupower/utils/helpers/misc.c
index 9547b29254a7..36dbd0562240 100644
--- a/tools/power/cpupower/utils/helpers/misc.c
+++ b/tools/power/cpupower/utils/helpers/misc.c
@@ -134,11 +134,11 @@ void get_cpustate(void)
*/
void print_online_cpus(void)
{
- int str_len = 0;
- char *online_cpus_str = NULL;
+ int str_len;
+ char *online_cpus_str;

str_len = online_cpus->size * 5;
- online_cpus_str = (void *)malloc(sizeof(char) * str_len);
+ online_cpus_str = malloc(sizeof(char) * str_len);

if (!bitmask_isallclear(online_cpus)) {
bitmask_displaylist(online_cpus_str, str_len, online_cpus);
@@ -152,11 +152,11 @@ void print_online_cpus(void)
*/
void print_offline_cpus(void)
{
- int str_len = 0;
- char *offline_cpus_str = NULL;
+ int str_len;
+ char *offline_cpus_str;

str_len = offline_cpus->size * 5;
- offline_cpus_str = (void *)malloc(sizeof(char) * str_len);
+ offline_cpus_str = malloc(sizeof(char) * str_len);

if (!bitmask_isallclear(offline_cpus)) {
bitmask_displaylist(offline_cpus_str, str_len, offline_cpus);
--
2.18.2


2022-10-12 16:59:40

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] power: cpupower: utils: Optimize print_online_cpus and print_offline_cpus function

On 10/12/22 04:10, Li kunyu wrote:
> 1. Remove the initialization assignment of variables, and they will be
> assigned first.
> 2. Remove the mandatory conversion of returned value of malloc function,
> which returns void* type.
>
> Signed-off-by: Li kunyu <[email protected]>

Can you tell me more about why this change is needed and how you determined
the need for this change?

thanks,
-- Shuah

2022-10-13 02:04:29

by Li kunyu

[permalink] [raw]
Subject:


I'm glad to get your reply. In previous tests, it was found that variable initialization and assignment use mov related instructions. Therefore, when I analyze the code and find that removing some variable initialization and assignment does not affect the function and security, I will try to remove variable initialization.

Find the malloc function and find that its return value is void * type, so it does not need to cast.

thanks,
kunyu

2022-10-13 02:10:03

by Li kunyu

[permalink] [raw]
Subject: Re: [PATCH] power: cpupower: utils: Optimize print_online_cpus and print_offline_cpus function


I'm glad to get your reply. In previous tests, it was found that variable initialization and assignment use mov related instructions. Therefore, when I analyze the code and find that removing some variable initialization and assignment does not affect the function and security, I will try to remove variable initialization.

Find the malloc function and find that its return value is void * type, so it does not need to cast.

thanks,
kunyu

2022-10-13 16:02:19

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] power: cpupower: utils: Optimize print_online_cpus and print_offline_cpus function

On 10/12/22 20:01, Li kunyu wrote:
>
> I'm glad to get your reply. In previous tests, it was found that variable initialization and assignment use mov related instructions. Therefore, when I analyze the code and find that removing some variable initialization and assignment does not affect the function and security, I will try to remove variable initialization.
>
> Find the malloc function and find that its return value is void * type, so it does not need to cast.
>
> thanks,
> kunyu
>

I am not seeing any reasons for removing the initialization.
There is no need to do that.

Missing error handling after malloc() call is the real problem
that can be fixed in this code path.

If you would like to fix that, send me a patch for that.

Hmm. Your reply to list looks strange - please double check and fix it

"Re:[PATCH]"@lists.nfsmail.com etc...

thanks,
-- Shuah

2022-10-14 04:02:26

by Li kunyu

[permalink] [raw]
Subject: Re: [PATCH] power: cpupower: utils: Optimize print_online_cpus and print_offline_cpus function


OK, I will make a new patch to determine the malloc memory allocation.