[PATCH 0/6] s390: simplify sysctl registration
From: Luis Chamberlain
Date: Fri Mar 10 2023 - 18:45:58 EST
s390 is the last architecture and one of the last users of
register_sysctl_table(). It was last becuase it had one use case
with dynamic memory allocation and it just required a bit more
thought.
This is all being done to help reduce code and avoid usage of API
calls for sysctl registration that can incur recusion. The recursion
only happens when you have subdirectories with entries and s390 does
not have any of that so either way recursion is avoided. Long term
though we can do away with just removing register_sysctl_table()
and then using ARRAY_SIZE() and save us tons of memory all over the
place by not having to add an extra empty entry all over.
Hopefully that commit log suffices for the dynamic allocation
conversion, but I would really like someone to test it as I haven't
tested a single patch, I'm super guiltly to accept I've just waited for
patches to finish compile testing and that's not over yet.
Anyway the changes other than the dynamic allocation one are pretty
trivial. That one could use some good review.
With all this out of the way we have just one stupid last user of
register_sysctl_table(): drivers/parport/procfs.c
That one is also dynamic. Hopefully the maintainer will be motivated
to do that conversion with all the examples out there now and this
having a complex one.
For more information refer to the new docs:
https://lore.kernel.org/all/20230310223947.3917711-1-mcgrof@xxxxxxxxxx/T/#u
Luis Chamberlain (6):
s390: simplify one-level sysctl registration for topology_ctl_table
s390: simplify one-level syctl registration for s390dbf_table
s390: simplify one-level sysctl registration for appldata_table
s390: simplify one level sysctl registration for cmm_table
s390: simplify one-level sysctl registration for page_table_sysctl
s390: simplify dynamic sysctl registration for appldata_register_ops
arch/s390/appldata/appldata_base.c | 30 ++++++++----------------------
arch/s390/kernel/debug.c | 12 +-----------
arch/s390/kernel/topology.c | 12 +-----------
arch/s390/mm/cmm.c | 12 +-----------
arch/s390/mm/pgalloc.c | 12 +-----------
5 files changed, 12 insertions(+), 66 deletions(-)
--
2.39.1