2020-10-21 06:29:00

by Colin King

[permalink] [raw]
Subject: [PATCH] can: isotp: make const array static, makes object smaller

From: Colin Ian King <[email protected]>

Don't populate the const array plen on the stack but instead it
static. Makes the object code smaller by 926 bytes.

Before:
text data bss dec hex filename
26531 1943 64 28538 6f7a net/can/isotp.o

After:
text data bss dec hex filename
25509 2039 64 27612 6bdc net/can/isotp.o

(gcc version 10.2.0)

Signed-off-by: Colin Ian King <[email protected]>
---
net/can/isotp.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/net/can/isotp.c b/net/can/isotp.c
index 4c2062875893..3fd714f81875 100644
--- a/net/can/isotp.c
+++ b/net/can/isotp.c
@@ -252,14 +252,16 @@ static void isotp_rcv_skb(struct sk_buff *skb, struct sock *sk)

static u8 padlen(u8 datalen)
{
- const u8 plen[] = {8, 8, 8, 8, 8, 8, 8, 8, 8, /* 0 - 8 */
- 12, 12, 12, 12, /* 9 - 12 */
- 16, 16, 16, 16, /* 13 - 16 */
- 20, 20, 20, 20, /* 17 - 20 */
- 24, 24, 24, 24, /* 21 - 24 */
- 32, 32, 32, 32, 32, 32, 32, 32, /* 25 - 32 */
- 48, 48, 48, 48, 48, 48, 48, 48, /* 33 - 40 */
- 48, 48, 48, 48, 48, 48, 48, 48}; /* 41 - 48 */
+ static const u8 plen[] = {
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, /* 0 - 8 */
+ 12, 12, 12, 12, /* 9 - 12 */
+ 16, 16, 16, 16, /* 13 - 16 */
+ 20, 20, 20, 20, /* 17 - 20 */
+ 24, 24, 24, 24, /* 21 - 24 */
+ 32, 32, 32, 32, 32, 32, 32, 32, /* 25 - 32 */
+ 48, 48, 48, 48, 48, 48, 48, 48, /* 33 - 40 */
+ 48, 48, 48, 48, 48, 48, 48, 48 /* 41 - 48 */
+ };

if (datalen > 48)
return 64;
--
2.27.0


2020-10-21 06:29:56

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH] can: isotp: make const array static, makes object smaller

On 10/20/20 5:42 PM, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Don't populate the const array plen on the stack but instead it
> static. Makes the object code smaller by 926 bytes.
>
> Before:
> text data bss dec hex filename
> 26531 1943 64 28538 6f7a net/can/isotp.o
>
> After:
> text data bss dec hex filename
> 25509 2039 64 27612 6bdc net/can/isotp.o
>
> (gcc version 10.2.0)
>
> Signed-off-by: Colin Ian King <[email protected]>

applied to linux-can/testing.

Thanks,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
signature.asc (499.00 B)
OpenPGP digital signature