[RFC] Huge sysctl patch for the kernel coming - work in progress

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Wed, 18 Jun 2014 13:36:53 +0200
Hi,

Sometimes sysctl's default value needs to be setup at boot time and not 
when the rc.d/sysctl is running. Currently this is done by having two 
statements in the kernel:

TUNABLE_INT("net.graph.mppe.log_max_rekey", &mppe_log_max_rekey);
SYSCTL_INT(_net_graph_mppe, OID_AUTO, log_max_rekey, CTLFLAG_RW,

I want to simplify this to:

SYSCTL_INT(_net_graph_mppe, OID_AUTO, log_max_rekey, CTLFLAG_RWTUN,

In other words if the existing CTLFLAG_TUN is set, the sysctl will 
automatically be pre-loaded with values from /boot/loader.conf.

The reason we don't want the current approach is:

1) It duplicates the sysctl path in the TUNABLE statement.
2) It does not work very well for dynamically attached sysctls. There is 
a lot of code overhead computing the TUNABLE() path before the TUNABLE() 
can be fetched.

Here is a work in progress:

http://home.selasky.org:8192/sysctl_tunable.diff

In most cases my patch is fine, but in some other cases I need some 
input, like in the VM subsystem when doing init, I'm not sure if the 
SYSINIT() for subsystem SI_SUB_KMEM, which sysctl's are using, has 
already been executed.

--HPS
Received on Wed Jun 18 2014 - 09:36:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC