From owner-svn-src-all@FreeBSD.ORG Thu Jan 10 18:18:25 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 156CCA49; Thu, 10 Jan 2013 18:18:25 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) by mx1.freebsd.org (Postfix) with ESMTP id 636A4E72; Thu, 10 Jan 2013 18:18:24 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.6/8.14.6) with ESMTP id r0AIIJ5v043781; Thu, 10 Jan 2013 20:18:19 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.7.4 kib.kiev.ua r0AIIJ5v043781 Received: (from kostik@localhost) by tom.home (8.14.6/8.14.6/Submit) id r0AIIJ8p043780; Thu, 10 Jan 2013 20:18:19 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 10 Jan 2013 20:18:19 +0200 From: Konstantin Belousov To: Sergey Kandaurov Subject: Re: svn commit: r245255 - head/sys/vm Message-ID: <20130110181819.GV2561@kib.kiev.ua> References: <201301101243.r0AChwR7090554@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="U8v/hV883cEE9JJG" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: svn-src-head@freebsd.org, Andrey Zonov , src-committers@freebsd.org, svn-src-all@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 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: Thu, 10 Jan 2013 18:18:25 -0000 --U8v/hV883cEE9JJG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jan 10, 2013 at 05:03:31PM +0300, Sergey Kandaurov wrote: > On 10 January 2013 16:43, Andrey Zonov wrote: > > Author: zont > > Date: Thu Jan 10 12:43:58 2013 > > New Revision: 245255 > > URL: http://svnweb.freebsd.org/changeset/base/245255 > > > > Log: > > - Reduce kernel size by removing unnecessary pointer indirections. > > > > GENERIC kernel size reduced in 16 bytes and RACCT kernel in 336 bytes. > > > > Suggested by: alc > > Reviewed by: alc > > Approved by: kib (mentor) > > MFC after: 1 week > > > > Modified: > > head/sys/vm/vm_map.c > > head/sys/vm/vm_mmap.c > > head/sys/vm/vm_unix.c > > > > Modified: head/sys/vm/vm_map.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/vm_map.c Thu Jan 10 12:30:58 2013 (r24525= 4) > > +++ head/sys/vm/vm_map.c Thu Jan 10 12:43:58 2013 (r24525= 5) > [...] > > @@ -3505,8 +3504,7 @@ Retry: > > grow_amount =3D limit - ctob(vm->vm_ssize); > > #endif > > if (!old_mlock && map->flags & MAP_WIREFUTURE) { > > - if (ptoa(vmspace_wired_count(p->p_vmspace)) + grow_amou= nt > > > - lmemlim) { > > + if (ptoa(pmap_wired_count(map->pmap)) + grow_amount > l= memlim) { > > vm_map_unlock_read(map); > > rv =3D KERN_NO_SPACE; > > goto out; > > @@ -3514,7 +3512,7 @@ Retry: > > #ifdef RACCT > > PROC_LOCK(p); > > if (racct_set(p, RACCT_MEMLOCK, > > - ptoa(vmspace_wired_count(p->p_vmspace)) + grow_amou= nt)) { > > + ptoa(pmap_wired_count(map->pmap)) + grow_amount)) { > > PROC_UNLOCK(p); > > vm_map_unlock_read(map); > > rv =3D KERN_NO_SPACE; > > @@ -3645,7 +3643,7 @@ out: > > KASSERT(error =3D=3D 0, ("decreasing RACCT_VMEM failed"= )); > > if (!old_mlock) { > > error =3D racct_set(p, RACCT_MEMLOCK, > > - ptoa(vmspace_wired_count(p->p_vmspace))); > > + ptoa(pmap_wired_count(map->pmap))); > > KASSERT(error =3D=3D 0, ("decreasing RACCT_MEML= OCK failed")); > > } > > error =3D racct_set(p, RACCT_STACK, ctob(vm->vm_ssize)); > > >=20 > Hi, > although vm_fault_hold() is the only caller of vm_map_growstack() > and it passes curproc as a process argument, this is a public function > and more callers can grow theoretically with !curproc. For the reason, > shouldn't vmspace be used with vmspace_acquire_ref()/vmspace_free() ? > Just nitpicking.. >=20 No, vm_map_growstack() is not a public interface. It is indeed exposed, but this is due to the lack of the formal KBI and KPI definitions, and not by intent. Adding vmspace reference there is pointless, it adds two atomics for the path for no use. --U8v/hV883cEE9JJG Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJQ7wXqAAoJEJDCuSvBvK1BmSUP/2kjDAAxyOe0GBZU3olbxWfY 61BO6HdAgOeZoy1zaA8ucrob4/i9AS4thRkyaK3PeIFKENGbyB504AS5XPb+dXYF C0ocm/EFzQGsQCeC9lfm1KHd/ncFPA/VKYFWObdn0nEoBER5Dgs8NHJ7kM824v3P VqAGAauRX+n7OunFV4kflnfXdf5o5eP4/g+VdZkK6Y6yNVc2KnAOym4q3Bs75e6y 0AET610tLbjkuKT+qpzqe76UrOrDxOIpsLNsuPs/jwtru4PX14rnfNu0wGJsoHsy g21mQPeKc6HtM7VxabG1Dd0IxTopJyg+YQo3g+v0K7ieowgSJruigVgSbwCIj7Cs d4zfh/TwokvJ0ja6yBDmXgDKKOpNHZTiXljk7OXzNC5he2u9a0k/D+e3Mc3x12J+ C6wWpgIcKpzwucN31qNya6b6SctgcEjOJebDbvXU+cee5iZk6bSM+oQqiLppmiZ/ jGDqFqfJUXrDQAy3RCAk7DYNHi4OF8YPSRjyvCISklWqWbER7x2r1SfOhi7WRb+c L6UNqQm+SGGu8gjyq21Yx3rPx/xOV2gBZlHSRn/bJBt6iVoXd2Xe06Tq7nBK4Tr6 4Gdax5m6LxrWuZnekSwWSv2z1ccuZghWWtmR2dPw3+6T56SHMxSaqlezyvmsEVXK caaaYMYp01uWP4c8/8gA =7W6/ -----END PGP SIGNATURE----- --U8v/hV883cEE9JJG--