On Tue, Mar 21, 2023 at 04:42:32PM +0000, Matthew Wilcox wrote: > On Tue, Mar 21, 2023 at 09:09:07PM +0800, Yangtao Li wrote: > > +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, > > + }, > > + {} > > +}; > > Could we avoid doing this until we no longer need an entire zero entry > after the last one? That may be 2-3 kernel release from now. The way to use ARRAY_SIZE() really is to deprecate the crap APIs that allow messy directory sysctl structures. > Also, please post scripts/bloat-o-meter results > for before-and-after. It should be one extry ~ ctl_table per move. Luis