From owner-svn-src-head@FreeBSD.ORG Thu Jan 10 14:03:39 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 19A13318; Thu, 10 Jan 2013 14:03:39 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-qc0-f172.google.com (mail-qc0-f172.google.com [209.85.216.172]) by mx1.freebsd.org (Postfix) with ESMTP id 4C2BEF05; Thu, 10 Jan 2013 14:03:38 +0000 (UTC) Received: by mail-qc0-f172.google.com with SMTP id b25so364085qca.17 for ; Thu, 10 Jan 2013 06:03:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=CX+A31CvMan8Eqs3wRN9Pr+9J6UddJF3YNU4c+wC9l0=; b=FJQYKv1CItYivHQe78uhnEZwq+6xm/FTV++4l2d+ECDG2qc2k+hOJGZpDeKy/K3a/4 C97kC66IqLvLQ+uenlnv/AJq0fFFoeBuJMnkUgcT4fyXToF4SRKkSYre+KtRvNtS0AMh SLK6OPEEasxtaWG6kuFm+nrHJ2CUyCrvSQh34iDWktekjsGD6Lw051FUaERVmipeuf2H AeiyQA2JuFhVbITm82DY1+rd9VUdG6HARh9j/OhzjCVUB1RCIUK0itgAYaeP6Icp40vZ i6h5CQqv9fsZa+EYCtXX/F11Bx12yS1hFiBFCjTa+9fsDThOktRWnhel7yyZsgKoueG+ RWJA== MIME-Version: 1.0 Received: by 10.224.184.143 with SMTP id ck15mr56526235qab.67.1357826612211; Thu, 10 Jan 2013 06:03:32 -0800 (PST) Received: by 10.229.78.96 with HTTP; Thu, 10 Jan 2013 06:03:31 -0800 (PST) In-Reply-To: <201301101243.r0AChwR7090554@svn.freebsd.org> References: <201301101243.r0AChwR7090554@svn.freebsd.org> Date: Thu, 10 Jan 2013 17:03:31 +0300 Message-ID: Subject: Re: svn commit: r245255 - head/sys/vm From: Sergey Kandaurov To: Andrey Zonov Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jan 2013 14:03:39 -0000 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 > ============================================================================== > --- head/sys/vm/vm_map.c Thu Jan 10 12:30:58 2013 (r245254) > +++ head/sys/vm/vm_map.c Thu Jan 10 12:43:58 2013 (r245255) [...] > @@ -3505,8 +3504,7 @@ Retry: > grow_amount = limit - ctob(vm->vm_ssize); > #endif > if (!old_mlock && map->flags & MAP_WIREFUTURE) { > - if (ptoa(vmspace_wired_count(p->p_vmspace)) + grow_amount > > - lmemlim) { > + if (ptoa(pmap_wired_count(map->pmap)) + grow_amount > lmemlim) { > vm_map_unlock_read(map); > rv = 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_amount)) { > + ptoa(pmap_wired_count(map->pmap)) + grow_amount)) { > PROC_UNLOCK(p); > vm_map_unlock_read(map); > rv = KERN_NO_SPACE; > @@ -3645,7 +3643,7 @@ out: > KASSERT(error == 0, ("decreasing RACCT_VMEM failed")); > if (!old_mlock) { > error = racct_set(p, RACCT_MEMLOCK, > - ptoa(vmspace_wired_count(p->p_vmspace))); > + ptoa(pmap_wired_count(map->pmap))); > KASSERT(error == 0, ("decreasing RACCT_MEMLOCK failed")); > } > error = racct_set(p, RACCT_STACK, ctob(vm->vm_ssize)); > 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.. -- wbr, pluknet