From owner-svn-src-all@FreeBSD.ORG Fri Jun 1 06:08:16 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 39FE1106566C; Fri, 1 Jun 2012 06:08:16 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id ADC008FC19; Fri, 1 Jun 2012 06:08:15 +0000 (UTC) Received: by yenl8 with SMTP id l8so1774408yen.13 for ; Thu, 31 May 2012 23:08:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=uYKfBF5rQ7+znH8Ti58EHJysV/ikc7TSxrQ7g28eBPQ=; b=xta4VGHcttus8SuceQIc4RKEct+N7qRQ9OBAylCJroFyE5uIcayMkyt6Mk5THeG50S AQfu8jEi3h154xrH0SRfsssLvbrO2Kjr/Lk9wdqizqCLMkL6f3Wb9WT6uHuEuXGybGz8 vWo/8PSy+dzayeltBw+0flbcaUk0hAhULTWkbZ4fjCFB7R9bCL9nM6w3EbXgzi2eK2h0 mSPrmcP2zMvMk04+1Hj2GuPPF3nlFi/eXDmyodyOhJbXNbefWIYCsAgncdU4jJJzgKmX paUv22VJyLDgvKiUnjJAHrLh20fhHc6hpWxp4KHZyIVUaWDNKML5aDDnGwjSdw2xoFNd 6n5g== MIME-Version: 1.0 Received: by 10.50.47.164 with SMTP id e4mr280916ign.10.1338530894835; Thu, 31 May 2012 23:08:14 -0700 (PDT) Sender: pluknet@gmail.com Received: by 10.64.8.170 with HTTP; Thu, 31 May 2012 23:08:14 -0700 (PDT) In-Reply-To: <201206010442.q514gqqv084148@svn.freebsd.org> References: <201206010442.q514gqqv084148@svn.freebsd.org> Date: Fri, 1 Jun 2012 10:08:14 +0400 X-Google-Sender-Auth: sH8c0t4VmmnvNI1-oJ6_A6qfRnA Message-ID: From: Sergey Kandaurov To: Eitan Adler Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r236380 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2012 06:08:16 -0000 On 1 June 2012 08:42, Eitan Adler 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 > =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