• Thomas Weißschuh's avatar
    sysctl: move sysctl type to ctl_table_header · 4a7b29f6
    Thomas Weißschuh authored
    Move the SYSCTL_TABLE_TYPE_{DEFAULT,PERMANENTLY_EMPTY} enums from
    ctl_table to ctl_table_header.
    Removing the mutable member is necessary to constify static instances
    of struct ctl_table.
    
    Move the initialization of the sysctl_mount_point type into
    init_header() where all the other header fields are also initialized.
    
    As a side-effect the memory usage of the sysctl core is reduced.
    Each ctl_table_header instance can manage multiple ctl_table instances
    and is only allocated when the table is actually registered.
    This saves 8 bytes of memory per ctl_table on 64bit, 4 due to the enum
    field itself and 4 due to padding.
    Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
    Signed-off-by: default avatarJoel Granados <j.granados@samsung.com>
    4a7b29f6
proc_sysctl.c 43.5 KB