mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
Make kobj_methods constant.
These structures hold no information that is modified during runtime. By marking this constant, we see approximately 600 symbols become read-only (amd64 GENERIC). While there, also mark the kobj_method structures generated by makeobjops.awk static. They are only referenced by the kobjop_desc structures within the same file. Before: $ ls -l kernel -rwxr-xr-x 1 ed wheel 15937309 Nov 8 16:29 kernel* $ size kernel text data bss dec hex filename 12260854 1358468 2848832 16468154 fb48ba kernel $ nm kernel | fgrep -c ' r ' 8240 After: $ ls -l kernel -rwxr-xr-x 1 ed wheel 15922469 Nov 8 16:25 kernel* $ size kernel text data bss dec hex filename 12302869 1302660 2848704 16454233 fb1259 kernel $ nm kernel | fgrep -c ' r ' 8838
This commit is contained in:
parent
6f6924e5a6
commit
3f3f6bc302
3 changed files with 3 additions and 3 deletions
|
|
@ -92,7 +92,7 @@ SYSINIT(kobj, SI_SUB_LOCK, SI_ORDER_ANY, kobj_init_mutex, NULL);
|
|||
* desc pointer is NULL, it is guaranteed never to match any read
|
||||
* descriptors.
|
||||
*/
|
||||
static struct kobj_method null_method = {
|
||||
static const struct kobj_method null_method = {
|
||||
0, 0,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
*/
|
||||
typedef struct kobj *kobj_t;
|
||||
typedef struct kobj_class *kobj_class_t;
|
||||
typedef struct kobj_method kobj_method_t;
|
||||
typedef const struct kobj_method kobj_method_t;
|
||||
typedef int (*kobjop_t)(void);
|
||||
typedef struct kobj_ops *kobj_ops_t;
|
||||
typedef struct kobjop_desc *kobjop_desc_t;
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ function handle_method (static, doc)
|
|||
line_width, length(prototype)));
|
||||
|
||||
# Print out the method desc
|
||||
printc("struct kobj_method " mname "_method_default = {");
|
||||
printc("static const struct kobj_method " mname "_method_default = {");
|
||||
printc("\t&" mname "_desc, (kobjop_t) " default_function);
|
||||
printc("};\n");
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue