linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH misc-next] drivers/misc: remove redundant rc variable
@ 2021-12-15  6:04 cgel.zte
  2021-12-15  8:52 ` Andrew Donnellan
  2021-12-26 21:52 ` Michael Ellerman
  0 siblings, 2 replies; 7+ messages in thread
From: cgel.zte @ 2021-12-15  6:04 UTC (permalink / raw)
  To: fbarrat
  Cc: ajd, arnd, gregkh, linuxppc-dev, linux-kernel, Minghao Chi, Zeal Robot

From: Minghao Chi <chi.minghao@zte.com.cn>

Return value from ocxl_context_attach() directly instead
of taking this in another redundant variable.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
---
 drivers/misc/ocxl/file.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
index e70525eedaae..d881f5e40ad9 100644
--- a/drivers/misc/ocxl/file.c
+++ b/drivers/misc/ocxl/file.c
@@ -74,7 +74,6 @@ static long afu_ioctl_attach(struct ocxl_context *ctx,
 {
 	struct ocxl_ioctl_attach arg;
 	u64 amr = 0;
-	int rc;
 
 	pr_debug("%s for context %d\n", __func__, ctx->pasid);
 
@@ -86,8 +85,7 @@ static long afu_ioctl_attach(struct ocxl_context *ctx,
 		return -EINVAL;
 
 	amr = arg.amr & mfspr(SPRN_UAMOR);
-	rc = ocxl_context_attach(ctx, amr, current->mm);
-	return rc;
+	return ocxl_context_attach(ctx, amr, current->mm);
 }
 
 static long afu_ioctl_get_metadata(struct ocxl_context *ctx,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH misc-next] drivers/misc: remove redundant rc variable
  2021-12-15  6:04 [PATCH misc-next] drivers/misc: remove redundant rc variable cgel.zte
@ 2021-12-15  8:52 ` Andrew Donnellan
  2021-12-26 21:52 ` Michael Ellerman
  1 sibling, 0 replies; 7+ messages in thread
From: Andrew Donnellan @ 2021-12-15  8:52 UTC (permalink / raw)
  To: cgel.zte, fbarrat
  Cc: arnd, gregkh, linuxppc-dev, linux-kernel, Minghao Chi, Zeal Robot

On 15/12/21 5:04 pm, cgel.zte@gmail.com wrote:
> From: Minghao Chi <chi.minghao@zte.com.cn>
> 
> Return value from ocxl_context_attach() directly instead
> of taking this in another redundant variable.
> 
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>

Acked-by: Andrew Donnellan <ajd@linux.ibm.com>

-- 
Andrew Donnellan              OzLabs, ADL Canberra
ajd@linux.ibm.com             IBM Australia Limited

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH misc-next] drivers/misc: remove redundant rc variable
  2021-12-15  6:04 [PATCH misc-next] drivers/misc: remove redundant rc variable cgel.zte
  2021-12-15  8:52 ` Andrew Donnellan
@ 2021-12-26 21:52 ` Michael Ellerman
  1 sibling, 0 replies; 7+ messages in thread
From: Michael Ellerman @ 2021-12-26 21:52 UTC (permalink / raw)
  To: cgel.zte, fbarrat
  Cc: Zeal Robot, gregkh, linux-kernel, ajd, Minghao Chi, arnd, linuxppc-dev

On Wed, 15 Dec 2021 06:04:38 +0000, cgel.zte@gmail.com wrote:
> From: Minghao Chi <chi.minghao@zte.com.cn>
> 
> Return value from ocxl_context_attach() directly instead
> of taking this in another redundant variable.
> 
> 

Applied to powerpc/next.

[1/1] drivers/misc: remove redundant rc variable
      https://git.kernel.org/powerpc/c/30e120e6a9d247cec7effd55fd6783d5c619ed4c

cheers

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH misc-next] drivers/misc: remove redundant rc variable
  2022-01-05  9:22   ` cgel.zte
@ 2022-01-05 10:08     ` Greg KH
  0 siblings, 0 replies; 7+ messages in thread
From: Greg KH @ 2022-01-05 10:08 UTC (permalink / raw)
  To: cgel.zte
  Cc: arnd, chi.minghao, fkassabri, linux-kernel, obitton, ogabbay,
	osharabi, ynudelman, zealci

On Wed, Jan 05, 2022 at 09:22:29AM +0000, cgel.zte@gmail.com wrote:
> I found that there are indeed some optimizations
> after removing the redundancy.
> 
> For example:
> 
> int foo(int a, int b)
> {
>         int ret;
>         ret = a>b ? a: b;
>         return ret;
> }
> int main()
> {
>         int val;
>         val = foo(7,2);
>         return 0;
> }
> 
> and
> 
> int foo(int a, int b)
> {
>         return a>b ? a: b;
> }
> int main()
> {
>         int val;
>         val = foo(7,2);
>         return 0;
> }
> 
> The corresponding disassembly code is as follows:
> 
>     1129:       f3 0f 1e fa             endbr64 
>     112d:       55                      push   %rbp
>     112e:       48 89 e5                mov    %rsp,%rbp
>     1131:       89 7d fc                mov    %edi,-0x4(%rbp)
>     1134:       89 75 f8                mov    %esi,-0x8(%rbp)
>     1137:       8b 45 fc                mov    -0x4(%rbp),%eax
>     113a:       39 45 f8                cmp    %eax,-0x8(%rbp)
>     113d:       0f 4d 45 f8             cmovge -0x8(%rbp),%eax
>     1141:       5d                      pop    %rbp
>     1142:       c3                      retq
> 
> and
> 
>     1129:       f3 0f 1e fa             endbr64 
>     112d:       55                      push   %rbp
>     112e:       48 89 e5                mov    %rsp,%rbp
>     1131:       89 7d ec                mov    %edi,-0x14(%rbp)
>     1134:       89 75 e8                mov    %esi,-0x18(%rbp)
>     1137:       8b 45 ec                mov    -0x14(%rbp),%eax
>     113a:       39 45 e8                cmp    %eax,-0x18(%rbp)
>     113d:       0f 4d 45 e8             cmovge -0x18(%rbp),%eax
>     1141:       89 45 fc                mov    %eax,-0x4(%rbp)
>     1144:       8b 45 fc                mov    -0x4(%rbp),%eax
>     1147:       5d                      pop    %rbp
>     1148:       c3                      retq
> 
> After removing the redundancy, the compiler does
> have some optimizations

Please look at the actual output of the kernel files, the build options
that the kernel enforces should not cause a difference here.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH misc-next] drivers/misc: remove redundant rc variable
  2022-01-04 11:45 ` Greg KH
@ 2022-01-05  9:22   ` cgel.zte
  2022-01-05 10:08     ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: cgel.zte @ 2022-01-05  9:22 UTC (permalink / raw)
  To: gregkh
  Cc: arnd, cgel.zte, chi.minghao, fkassabri, linux-kernel, obitton,
	ogabbay, osharabi, ynudelman, zealci

I found that there are indeed some optimizations
after removing the redundancy.

For example:

int foo(int a, int b)
{
        int ret;
        ret = a>b ? a: b;
        return ret;
}
int main()
{
        int val;
        val = foo(7,2);
        return 0;
}

and

int foo(int a, int b)
{
        return a>b ? a: b;
}
int main()
{
        int val;
        val = foo(7,2);
        return 0;
}

The corresponding disassembly code is as follows:

    1129:       f3 0f 1e fa             endbr64 
    112d:       55                      push   %rbp
    112e:       48 89 e5                mov    %rsp,%rbp
    1131:       89 7d fc                mov    %edi,-0x4(%rbp)
    1134:       89 75 f8                mov    %esi,-0x8(%rbp)
    1137:       8b 45 fc                mov    -0x4(%rbp),%eax
    113a:       39 45 f8                cmp    %eax,-0x8(%rbp)
    113d:       0f 4d 45 f8             cmovge -0x8(%rbp),%eax
    1141:       5d                      pop    %rbp
    1142:       c3                      retq

and

    1129:       f3 0f 1e fa             endbr64 
    112d:       55                      push   %rbp
    112e:       48 89 e5                mov    %rsp,%rbp
    1131:       89 7d ec                mov    %edi,-0x14(%rbp)
    1134:       89 75 e8                mov    %esi,-0x18(%rbp)
    1137:       8b 45 ec                mov    -0x14(%rbp),%eax
    113a:       39 45 e8                cmp    %eax,-0x18(%rbp)
    113d:       0f 4d 45 e8             cmovge -0x18(%rbp),%eax
    1141:       89 45 fc                mov    %eax,-0x4(%rbp)
    1144:       8b 45 fc                mov    -0x4(%rbp),%eax
    1147:       5d                      pop    %rbp
    1148:       c3                      retq

After removing the redundancy, the compiler does
have some optimizations


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH misc-next] drivers/misc: remove redundant rc variable
  2022-01-04 11:34 cgel.zte
@ 2022-01-04 11:45 ` Greg KH
  2022-01-05  9:22   ` cgel.zte
  0 siblings, 1 reply; 7+ messages in thread
From: Greg KH @ 2022-01-04 11:45 UTC (permalink / raw)
  To: cgel.zte
  Cc: ogabbay, arnd, ynudelman, obitton, osharabi, chi.minghao,
	fkassabri, linux-kernel, Zeal Robot

On Tue, Jan 04, 2022 at 11:34:11AM +0000, cgel.zte@gmail.com wrote:
> From: Minghao Chi <chi.minghao@zte.com.cn>
> 
> Return value from ocxl_context_attach() directly instead
> of taking this in another redundant variable.

Why?  Does this change the compiler output?

> 
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
> Signed-off-by: CGEL ZTE <cgel.zte@gmail.com>
> ---
>  drivers/misc/ocxl/file.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
> index e70525eedaae..d881f5e40ad9 100644
> --- a/drivers/misc/ocxl/file.c
> +++ b/drivers/misc/ocxl/file.c
> @@ -74,7 +74,6 @@ static long afu_ioctl_attach(struct ocxl_context *ctx,
>  {
>  	struct ocxl_ioctl_attach arg;
>  	u64 amr = 0;
> -	int rc;
>  
>  	pr_debug("%s for context %d\n", __func__, ctx->pasid);
>  
> @@ -86,8 +85,7 @@ static long afu_ioctl_attach(struct ocxl_context *ctx,
>  		return -EINVAL;
>  
>  	amr = arg.amr & mfspr(SPRN_UAMOR);
> -	rc = ocxl_context_attach(ctx, amr, current->mm);
> -	return rc;
> +	return ocxl_context_attach(ctx, amr, current->mm);
>  }
>  
>  static long afu_ioctl_get_metadata(struct ocxl_context *ctx,
> -- 
> 2.25.1
> 

How did you test this change?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH misc-next] drivers/misc: remove redundant rc variable
@ 2022-01-04 11:34 cgel.zte
  2022-01-04 11:45 ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: cgel.zte @ 2022-01-04 11:34 UTC (permalink / raw)
  To: ogabbay
  Cc: arnd, gregkh, ynudelman, obitton, osharabi, chi.minghao,
	fkassabri, linux-kernel, Zeal Robot, CGEL ZTE

From: Minghao Chi <chi.minghao@zte.com.cn>

Return value from ocxl_context_attach() directly instead
of taking this in another redundant variable.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Signed-off-by: CGEL ZTE <cgel.zte@gmail.com>
---
 drivers/misc/ocxl/file.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
index e70525eedaae..d881f5e40ad9 100644
--- a/drivers/misc/ocxl/file.c
+++ b/drivers/misc/ocxl/file.c
@@ -74,7 +74,6 @@ static long afu_ioctl_attach(struct ocxl_context *ctx,
 {
 	struct ocxl_ioctl_attach arg;
 	u64 amr = 0;
-	int rc;
 
 	pr_debug("%s for context %d\n", __func__, ctx->pasid);
 
@@ -86,8 +85,7 @@ static long afu_ioctl_attach(struct ocxl_context *ctx,
 		return -EINVAL;
 
 	amr = arg.amr & mfspr(SPRN_UAMOR);
-	rc = ocxl_context_attach(ctx, amr, current->mm);
-	return rc;
+	return ocxl_context_attach(ctx, amr, current->mm);
 }
 
 static long afu_ioctl_get_metadata(struct ocxl_context *ctx,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-01-05 10:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-15  6:04 [PATCH misc-next] drivers/misc: remove redundant rc variable cgel.zte
2021-12-15  8:52 ` Andrew Donnellan
2021-12-26 21:52 ` Michael Ellerman
2022-01-04 11:34 cgel.zte
2022-01-04 11:45 ` Greg KH
2022-01-05  9:22   ` cgel.zte
2022-01-05 10:08     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).