arm: Remove now superfluous sentinel elem from ctl_table arrays
authorJoel Granados <j.granados@samsung.com>
Mon, 2 Oct 2023 11:30:37 +0000 (13:30 +0200)
committerLuis Chamberlain <mcgrof@kernel.org>
Tue, 10 Oct 2023 22:22:02 +0000 (15:22 -0700)
This commit comes at the tail end of a greater effort to remove the
empty elements at the end of the ctl_table arrays (sentinels) which
will reduce the overall build time size of the kernel and run time
memory bloat by ~64 bytes per sentinel (further information Link :
https://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)

Removed the sentinel as well as the explicit size from ctl_isa_vars. The
size is redundant as the initialization sets it. Changed
insn_emulation->sysctl from a 2 element array of struct ctl_table to a
simple struct. This has no consequence for the sysctl registration as it
is forwarded as a pointer. Removed sentinel from sve_defatul_vl_table,
sme_default_vl_table, tagged_addr_sysctl_table and
armv8_pmu_sysctl_table.

This removal is safe because register_sysctl_sz and register_sysctl use
the array size in addition to checking for the sentinel.

Signed-off-by: Joel Granados <j.granados@samsung.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
arch/arm/kernel/isa.c
arch/arm64/kernel/armv8_deprecated.c
arch/arm64/kernel/fpsimd.c
arch/arm64/kernel/process.c
drivers/perf/arm_pmuv3.c

index 20218876bef290b74d932f31f70bf8bb1c97748f..905b1b1915468cfdff02af373489f6c4e358bbf3 100644 (file)
@@ -16,7 +16,7 @@
 
 static unsigned int isa_membase, isa_portbase, isa_portshift;
 
-static struct ctl_table ctl_isa_vars[4] = {
+static struct ctl_table ctl_isa_vars[] = {
        {
                .procname       = "membase",
                .data           = &isa_membase, 
@@ -35,7 +35,7 @@ static struct ctl_table ctl_isa_vars[4] = {
                .maxlen         = sizeof(isa_portshift),
                .mode           = 0444,
                .proc_handler   = proc_dointvec,
-       }, {}
+       },
 };
 
 static struct ctl_table_header *isa_sysctl_header;
index e459cfd337117156d82c23137b7d79450a8f12fb..dd6ce86d4332be4c0cff75f52ac88e366f05754a 100644 (file)
@@ -52,10 +52,8 @@ struct insn_emulation {
        int min;
        int max;
 
-       /*
-        * sysctl for this emulation + a sentinal entry.
-        */
-       struct ctl_table sysctl[2];
+       /* sysctl for this emulation */
+       struct ctl_table sysctl;
 };
 
 #define ARM_OPCODE_CONDTEST_FAIL   0
@@ -558,7 +556,7 @@ static void __init register_insn_emulation(struct insn_emulation *insn)
        update_insn_emulation_mode(insn, INSN_UNDEF);
 
        if (insn->status != INSN_UNAVAILABLE) {
-               sysctl = &insn->sysctl[0];
+               sysctl = &insn->sysctl;
 
                sysctl->mode = 0644;
                sysctl->maxlen = sizeof(int);
index 91e44ac7150f90088f455ad822a08897483d7a7b..9afd0eb0cf88ab08081c7df5bf51754998840db0 100644 (file)
@@ -589,7 +589,6 @@ static struct ctl_table sve_default_vl_table[] = {
                .proc_handler   = vec_proc_do_default_vl,
                .extra1         = &vl_info[ARM64_VEC_SVE],
        },
-       { }
 };
 
 static int __init sve_sysctl_init(void)
@@ -613,7 +612,6 @@ static struct ctl_table sme_default_vl_table[] = {
                .proc_handler   = vec_proc_do_default_vl,
                .extra1         = &vl_info[ARM64_VEC_SME],
        },
-       { }
 };
 
 static int __init sme_sysctl_init(void)
index 0fcc4eb1a7abccaf537ee054646e2420bbe62392..610e13c3d41b38cdf60af824d868ff7e82e6f36f 100644 (file)
@@ -724,7 +724,6 @@ static struct ctl_table tagged_addr_sysctl_table[] = {
                .extra1         = SYSCTL_ZERO,
                .extra2         = SYSCTL_ONE,
        },
-       { }
 };
 
 static int __init tagged_addr_init(void)
index 8fcaa26f0f8a6ffad590fd7c144dd766157b9445..c0307b9181c321191c3e00a7c4b085e09c2c53cd 100644 (file)
@@ -1175,7 +1175,6 @@ static struct ctl_table armv8_pmu_sysctl_table[] = {
                .extra1         = SYSCTL_ZERO,
                .extra2         = SYSCTL_ONE,
        },
-       { }
 };
 
 static void armv8_pmu_register_sysctl_table(void)