svn commit: r309658 - head/sys/vm

Bruce Evans brde at optusnet.com.au
Thu Dec 8 02:07:17 UTC 2016


On Wed, 7 Dec 2016, Warner Losh wrote:

> On Wed, Dec 7, 2016 at 2:26 PM, Gleb Smirnoff <glebius at freebsd.org> wrote:
>> On Tue, Dec 06, 2016 at 10:52:45PM +0000, Mark Johnston wrote:
>> M> Author: markj
>> M> Date: Tue Dec  6 22:52:45 2016
>> M> New Revision: 309658
>> M> URL: https://svnweb.freebsd.org/changeset/base/309658
>> M>
>> M> Log:
>> M>   Provide dummy sysctls for v_cache_count and v_tcached.
>> M>
>> M>   Some utilities (notably top(1)) exit if any of their input sysctls don't
>> M>   exist, and the removal of the above-mentioned PG_CACHE-related sysctls
>> M>   makes it difficult to run such utilities on different versions of the
>> M>   kernel without recompiling.
>> M>
>> M>   Requested by:      bde
>> M>
>> M> Modified:
>> M>   head/sys/vm/vm_meter.c
>> M>
>> M> Modified: head/sys/vm/vm_meter.c
>> M> ==============================================================================
>> M> --- head/sys/vm/vm_meter.c   Tue Dec  6 22:48:28 2016        (r309657)
>> M> +++ head/sys/vm/vm_meter.c   Tue Dec  6 22:52:45 2016        (r309658)
>> M> @@ -314,3 +314,14 @@ VM_STATS_VM(v_forkpages, "VM pages affec
>> M>  VM_STATS_VM(v_vforkpages, "VM pages affected by vfork()");
>> M>  VM_STATS_VM(v_rforkpages, "VM pages affected by rfork()");
>> M>  VM_STATS_VM(v_kthreadpages, "VM pages affected by fork() by kernel");
>> M> +
>> M> +#ifndef BURN_BRIDGES
>> M> +/*
>> M> + * Provide compatibility sysctls for the benefit of old utilities which exit
>> M> + * with an error if they cannot be found.
>> M> + */
>> M> +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_cache_count, CTLFLAG_RD,
>> M> +    (u_int *)NULL, 0, "Dummy for compatibility");
>> M> +SYSCTL_UINT(_vm_stats_vm, OID_AUTO, v_tcached, CTLFLAG_RD,
>> M> +    (u_int *)NULL, 0, "Dummy for compatibility");
>> M> +#endif
>>
>> IMHO, there should be some garbage collecting timeout for them. I'd suggest to
>> delete them from head after stable/12 branch is forked.
>
> Other places define #if BURN_BRUDGES < 1200000 to make this automatic.

The correct ifdef is something like '#if COMPAT_FREEBSD12' to make this
non-automatic.  Support for this option should of course be removed some
time after the support for COMPAT_43 option.  That is only 25-30 years old.

FreeBSD never imported the rather large COMPAT_42 support from 4.4BSD-Lite
(except for TCP_COMPAT_42) since it never supported the arches that needed
it, but it still had 1 COMPAT_42 ifdef in udp_usrreq.c until 2002.  That
ifdef was garbage since the option was not supported (not in conf/options).
It was for a sysctl too, but less needed since it was only for the default
value.

Bruce


More information about the svn-src-all mailing list