svn commit: r309658 - head/sys/vm

Mark Johnston markj at freebsd.org
Thu Dec 8 23:03:33 UTC 2016


On Thu, Dec 08, 2016 at 07:50:17AM -0800, John Baldwin wrote:
> On Wednesday, December 07, 2016 02:15:49 PM Mark Johnston wrote:
> > On Wed, Dec 07, 2016 at 01:26:47PM -0800, Gleb Smirnoff 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.
> > 
> > The intent was to improve compatibility with old userlands, not just to
> > help bridge the transition from 11.0 to 12.0. In general I'm all for
> > removing cruft, but these sysctls are unobtrusive and I don't see any
> > reason to remove them in a specific time frame provided that nothing
> > else breaks compatibility for top(1) (and vmstat(8)). Please feel free
> > to add a timeout if you still disagree, though.
> 
> I would suggest sticking them under COMPAT_FREEBSD11 then.  That would give
> users control via the COMPAT_FREEBSD<x> options the way we do with other
> compat shims.  The only nit is you need to add the COMPAT_FREEBSD11 option
> first (probably in a separate commit).

Ok. I've put up a CR here if anyone would like to take a look first:
https://reviews.freebsd.org/D8736


More information about the svn-src-all mailing list