Date: Thu, 10 Jan 2013 20:18:19 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Sergey Kandaurov <pluknet@gmail.com> Cc: svn-src-head@freebsd.org, Andrey Zonov <zont@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r245255 - head/sys/vm Message-ID: <20130110181819.GV2561@kib.kiev.ua> In-Reply-To: <CAE-mSO%2B=d8gknb2BJ%2BsERe-zsYD8L3Or6Yk2mSNak7c0yjDVdw@mail.gmail.com> References: <201301101243.r0AChwR7090554@svn.freebsd.org> <CAE-mSO%2B=d8gknb2BJ%2BsERe-zsYD8L3Or6Yk2mSNak7c0yjDVdw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <zont@freebsd.org> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130110181819.GV2561>