Skip site navigation (1)Skip section navigation (2)
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>