Re: [PATCH][next] EDAC, pnd2: Make read-only const array intlv static

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19/09/2024 08:19, Zhuo, Qiuxu wrote:
From: Colin Ian King <colin.i.king@xxxxxxxxx>
[...]
Subject: [PATCH][next] EDAC, pnd2: Make read-only const array intlv static

Don't populate the const read-only array intlv on the stack at run time, instead
make it static.

Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx>
---
  drivers/edac/pnd2_edac.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c index
f93f2f2b1cf2..af14c8a3279f 100644
--- a/drivers/edac/pnd2_edac.c
+++ b/drivers/edac/pnd2_edac.c
@@ -372,7 +372,7 @@ static int gen_asym_mask(struct
b_cr_slice_channel_hash *p,
  			 struct b_cr_asym_mem_region1_mchbar *as1,
  			 struct b_cr_asym_2way_mem_region_mchbar
*as2way)  {
-	const int intlv[] = { 0x5, 0xA, 0x3, 0xC };
+	static const int intlv[] = { 0x5, 0xA, 0x3, 0xC };
  	int mask = 0;

  	if (as2way->asym_2way_interleave_enable)
@@ -489,7 +489,7 @@ static int dnv_get_registers(void)
   */
  static int get_registers(void)
  {
-	const int intlv[] = { 10, 11, 12, 12 };
+	static const int intlv[] = { 10, 11, 12, 12 };


I didn't see the why and the benefits of these changes.
Could you elaborate more?

The non-const construct will generate code to put the array on the stack and this occurs on each call, so there is a small amount of extra object code overhead to do this at run time. Making it static will put the data into a data section so there is run-time penalty. So this change potentially shrinks the object code and run time overhead a very small amount.

Colin





[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux