Re: [RFC v2 1/2] kernel/sysctl: support setting sysctl parameters from kernel command line

From: Christian Brauner
Date: Thu Mar 26 2020 - 09:30:52 EST


On Thu, Mar 26, 2020 at 07:58:29AM +0100, Michal Hocko wrote:
> On Wed 25-03-20 17:20:40, Eric W. Biederman wrote:
> > Vlastimil Babka <vbabka@xxxxxxx> writes:
> [...]
> > > + if (strncmp(param, "sysctl.", sizeof("sysctl.") - 1))
> > > + return 0;
> >
> > Is there any way we can use a slash separated path. I know
> > in practice there are not any sysctl names that don't have
> > a '.' in them but why should we artifically limit ourselves?
>
> Because this is the normal userspace interface? Why should it be any
> different from calling sysctl?
> [...]

Imho, we should use ".". Kernel developers aren't the ones setting
these options, admins are and if I think back to the times doing that as
a job at uni I'd be very confused if I learned that I get to set sysctl
options through the kernel command but need to use yet another format
than what I usually do to set those from the shell. Consistency is most
of the times to be preferred imho.

Also, the kernel docs illustrate that the "." syntax is used for other
keys as well (e.g. acpi.<option>) and userspace options passed via the
kernel command line have standardized on the "." format as well, e.g.
systemd appends in the same format (e.g.
systemd.unified_cgroup_hierarchy, systemd.unit what have you).

Christian