Weed-whacking sysctl(8)

mdf at FreeBSD.org mdf at FreeBSD.org
Wed Jan 19 20:28:20 UTC 2011


As bde@ mentioned, there's very little actual use of the sysctl format
strings.  I recently changed it so the use is even smaller, but I've
got a quandary as to how to finish the job.

I agree with Bruce that the formatted structs can just be removed.
This leaves just the "IK" format, which shows up in just a few files:

sys/dev/acpica/acpi_thermal.c:
sys/dev/amdtemp/amdtemp.c
sys/dev/acpi_support/atk0110.c
sys/dev/coretemp/coretemp.c
sys/dev/iicbus/max6690.c
sys/dev/iicbus/ds1775.c

I see two solutions to "IK".  The first is to preserve the interface
as experienced by sysctl(8) users, and add some functions to push a
string buffer back to userspace, and parse a string in the kernel.
The second is to preserve the binary interface as experienced by
sysctl(3) users, and either have the values be dumped in the slightly
obscure 10ths of Kelvin values, or add a new CTLTYPE_KELVIN so
sysctl(8) can also keep showing things as it does today.

Given how infrequent the use is CTLTYPE_KELVIN seems a non-starter.
So who is the worse client to break: those who use sysctl(8) to look
at temperatures, or those who have a utility to manipulate these
values using sysctl(3)?

Thanks,
matthew


More information about the freebsd-arch mailing list