Re: [PATCH] fs/drop_caches: move drop_caches sysctls into its own file

From: Alexey Dobriyan
Date: Tue Mar 21 2023 - 10:37:20 EST


> > +static struct ctl_table drop_caches_table[] = {
> > + {
> > + .procname = "drop_caches",
> > + .data = &sysctl_drop_caches,
> > + .maxlen = sizeof(int),
> > + .mode = 0200,
> > + .proc_handler = drop_caches_sysctl_handler,
> > + .extra1 = SYSCTL_ONE,
> > + .extra2 = SYSCTL_FOUR,
> > + },
> > + {}
> > +};
> > +
> > +static int __init drop_cache_init(void)
> > +{
> > + register_sysctl_init("vm", drop_caches_table);
>
> Does this belong under mm/ or fs/?
> And is it intended to be moved into a completely separate file?
> Feels abit wasteful for 20 lines of code...

It is better to keep all sysctls in one preallocated structure
for memory reasons:

header = kzalloc(sizeof(struct ctl_table_header) +
sizeof(struct ctl_node)*nr_entries, GFP_KERNEL_ACCOUNT);