Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Jun 2019 14:35:52 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        Alan Somers <asomers@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r348737 - head/sys/kern
Message-ID:  <20190606183552.GD3015@raichu>
In-Reply-To: <CAOtMX2jvfnXx35DoV3JBGeVcm%2BDtbd4HWmqFBSNNEbGO4eBa9Q@mail.gmail.com>
References:  <201906061504.x56F4odw034764@repo.freebsd.org> <201906061735.x56HZGIJ058845@gndrsh.dnsmgr.net> <CAOtMX2iQ=Q9tR2MviXQDRqs_UNW6gQq=BGiDpNwXbpWjG%2BH7CQ@mail.gmail.com> <c6d9a869-d678-212b-0bc6-d0046f892e76@FreeBSD.org> <CAOtMX2jvfnXx35DoV3JBGeVcm%2BDtbd4HWmqFBSNNEbGO4eBa9Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 06, 2019 at 12:04:52PM -0600, Alan Somers wrote:
> On Thu, Jun 6, 2019 at 12:01 PM John Baldwin <jhb@freebsd.org> wrote:
> >
> > On 6/6/19 10:39 AM, Alan Somers wrote:
> > > On Thu, Jun 6, 2019 at 11:35 AM Rodney W. Grimes
> > > <freebsd@gndrsh.dnsmgr.net> wrote:
> > >>
> > >>> Author: asomers
> > >>> Date: Thu Jun  6 15:04:50 2019
> > >>> New Revision: 348737
> > >>> URL: https://svnweb.freebsd.org/changeset/base/348737
> > >>>
> > >>> Log:
> > >>>   Add a testing facility to manually reclaim a vnode
> > >>>
> > >>>   Add the debug.try_reclaim_vnode sysctl. When a pathname is written to it, it
> > >>>   will be reclaimed, as long as it isn't already or doomed. The purpose is to
> > >>>   gain test coverage for vnode reclamation, which is otherwise hard to
> > >>>   achieve.
> > >>>
> > >>>   Add the debug.ftry_reclaim_vnode sysctl.  It does the same thing, except
> > >>>   that its argument is a file descriptor instead of a pathname.
> > >>
> > >> Should not this all be wrapped in some #ifdef or other protection,
> > >> is it really a good idea to have this on every single box running
> > >> FreeBSD?
> > >
> > > I initially thought so too, but kib thought that it could be useful
> > > for debugging problems in the field.  The potential downside is
> > > limited, because only root can write to the sysctls, and the
> > > worse-case damage is similar to a "umount -f".
> >
> > A compromise might be to stick this in a kernel module instead of in the
> > base kernel.  You could still kldload it in the field for debugging but
> > not necessarily have it directly available out of the box.
> >
> > --
> > John Baldwin
> 
> If we already had such a module, it would make sense to put these
> sysctls in there.  But I don't want to create an entire module for
> just a few dozen LOC.  Nor do I want to mediate a bike shed.  So let's
> vote.  kib already registered a vote for making them available all of
> the time.  rgrimes voted to guard them by INVARIANTS.  Anybody else
> who cares can reply to this thread.  I'll count the votes in 24 hours.

+1 to making it unconditional.  We already have lots of debugging
sysctls enabled in !INVARIANTS kernels, and these sorts of things end up
being handy in unexpected ways.  For a long time I've carried a patch
which unconditionally compiles debug.vm_lowmem because I kept having to
recompile to get it.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190606183552.GD3015>