Date: Fri, 1 Jun 2012 11:28:06 +0300 From: Konstantin Belousov <kostikbel@gmail.com> 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: <20120601082806.GR2358@deviant.kiev.zoral.com.ua> 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
--KHxoa/2yf2SjDQvg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jun 01, 2012 at 04:42:52AM +0000, Eitan Adler wrote: > Author: eadler > Date: Fri Jun 1 04:42:52 2012 > New Revision: 236380 > URL: http://svn.freebsd.org/changeset/base/236380 >=20 > Log: > Add sysctl to query amount of swap space free > =20 > PR: kern/166780 > Submitted by: Radim Kolar <hsn@sendmail.cz> > Approved by: cperciva > MFC after: 1 week >=20 > Modified: > head/sys/vm/swap_pager.c The commit messages lack any rationale for the change. The rationale specified in the PR is wrong, there _is_ the sysctl interface to read the swap use, vm.swap_info.N. It is used by e.g. swapinfo(8)/libkvm(3) on live system. >=20 > 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 Fri Jun 1 04:34:49 2012 (r236379) > +++ head/sys/vm/swap_pager.c Fri Jun 1 04:42:52 2012 (r236380) > @@ -2692,3 +2692,18 @@ swaponvp(struct thread *td, struct vnode > NODEV); > return (0); > } > + > +static int > +sysctl_vm_swap_free(SYSCTL_HANDLER_ARGS) { > + int swap_free, used; > + int total; > + > + swap_pager_status(&total, &used); > + > + swap_free =3D (total - used) * PAGE_SIZE; > + return SYSCTL_OUT(req, &swap_free, sizeof(swap_free)); > +} This just overflows at swap sizes greater then 2GB. > + > +SYSCTL_OID(_vm, OID_AUTO, swap_free, CTLTYPE_INT|CTLFLAG_RD|CTLFLAG_MPSA= FE, > + NULL, 0, sysctl_vm_swap_free, "Q", > + "Blocks of free swap storage."); Please revert the commit. --KHxoa/2yf2SjDQvg Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAk/IfRYACgkQC3+MBN1Mb4jbxwCglxOXsoKwgOSPPe26n20E/vYY hWAAniG9a3SxbtiBOs+euXhw0ZQUdcOt =OWVg -----END PGP SIGNATURE----- --KHxoa/2yf2SjDQvg--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120601082806.GR2358>