Date: Fri, 1 Jun 2012 10:08:14 +0400 From: Sergey Kandaurov <pluknet@freebsd.org> To: Eitan Adler <eadler@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r236380 - head/sys/vm Message-ID: <CAE-mSOK=qyKbTwnKx_y5VmDNdYJG_K7R4j6565hWy09gEu_wZQ@mail.gmail.com> In-Reply-To: <201206010442.q514gqqv084148@svn.freebsd.org> References: <201206010442.q514gqqv084148@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1 June 2012 08:42, Eitan Adler <eadler@freebsd.org> wrote: > Author: eadler > Date: Fri Jun =A01 04:42:52 2012 > New Revision: 236380 > URL: http://svn.freebsd.org/changeset/base/236380 > > Log: > =A0Add sysctl to query amount of swap space free > > =A0PR: =A0 =A0 =A0 =A0 =A0 kern/166780 > =A0Submitted by: Radim Kolar <hsn@sendmail.cz> > =A0Approved by: =A0cperciva > =A0MFC after: =A0 =A01 week Well, we already have more powerful vm.swap_info, so I see no reason to add yet another one to do the same thing (but now with a human interface). Probably sysctl(8) should be enhanced to parse it instead. > > Modified: > =A0head/sys/vm/swap_pager.c > > Modified: head/sys/vm/swap_pager.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/vm/swap_pager.c =A0 =A0Fri Jun =A01 04:34:49 2012 =A0 =A0 = =A0 =A0(r236379) > +++ head/sys/vm/swap_pager.c =A0 =A0Fri Jun =A01 04:42:52 2012 =A0 =A0 = =A0 =A0(r236380) > @@ -2692,3 +2692,18 @@ swaponvp(struct thread *td, struct vnode > =A0 =A0 =A0 =A0 =A0 =A0NODEV); > =A0 =A0 =A0 =A0return (0); > =A0} > + > +static int > +sysctl_vm_swap_free(SYSCTL_HANDLER_ARGS) { > + =A0 =A0 =A0 int swap_free, used; > + =A0 =A0 =A0 int total; > + > + =A0 =A0 =A0 swap_pager_status(&total, &used); > + > + =A0 =A0 =A0 swap_free =3D (total - used) * PAGE_SIZE; > + =A0 =A0 =A0 return SYSCTL_OUT(req, &swap_free, sizeof(swap_free)); > +} > + > +SYSCTL_OID(_vm, OID_AUTO, swap_free, CTLTYPE_INT|CTLFLAG_RD|CTLFLAG_MPSA= FE, > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 NULL, 0, sysctl_vm_swap_free, "Q", > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 "Blocks of free swap storage."); --=20 wbr, pluknet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOK=qyKbTwnKx_y5VmDNdYJG_K7R4j6565hWy09gEu_wZQ>