From owner-svn-src-all@FreeBSD.ORG Tue Jul 15 05:34:28 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 75770C60; Tue, 15 Jul 2014 05:34:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 56B6D2BCD; Tue, 15 Jul 2014 05:34:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s6F5YS5v040768; Tue, 15 Jul 2014 05:34:28 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s6F5YSmx040767; Tue, 15 Jul 2014 05:34:28 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201407150534.s6F5YSmx040767@svn.freebsd.org> From: Alan Cox Date: Tue, 15 Jul 2014 05:34:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r268655 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18 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: Tue, 15 Jul 2014 05:34:28 -0000 Author: alc Date: Tue Jul 15 05:34:27 2014 New Revision: 268655 URL: http://svnweb.freebsd.org/changeset/base/268655 Log: Eliminate repeated calculation of next_bucket in pmap_protect() and pmap_remove(). Eliminate an unnecessary variable from pmap_remove() and pmap_advise(). Modified: head/sys/arm/arm/pmap-v6.c Modified: head/sys/arm/arm/pmap-v6.c ============================================================================== --- head/sys/arm/arm/pmap-v6.c Tue Jul 15 05:32:53 2014 (r268654) +++ head/sys/arm/arm/pmap-v6.c Tue Jul 15 05:34:27 2014 (r268655) @@ -2842,8 +2842,8 @@ pmap_protect(pmap_t pmap, vm_offset_t sv * Are we protecting the entire large page? If not, * demote the mapping and fall through. */ - if (sva + L1_S_SIZE == L2_NEXT_BUCKET(sva) && - eva >= L2_NEXT_BUCKET(sva)) { + if (sva + L1_S_SIZE == next_bucket && + eva >= next_bucket) { l1pd &= ~(L1_S_PROT_MASK | L1_S_XN); if (!(prot & VM_PROT_EXECUTE)) *pl1pd |= L1_S_XN; @@ -4305,7 +4305,7 @@ pmap_remove(pmap_t pmap, vm_offset_t sva { struct l2_bucket *l2b; vm_offset_t next_bucket; - pd_entry_t *pl1pd, l1pd; + pd_entry_t l1pd; pt_entry_t *ptep; u_int total; u_int mappings, is_exec, is_refd; @@ -4320,11 +4320,12 @@ pmap_remove(pmap_t pmap, vm_offset_t sva PMAP_LOCK(pmap); total = 0; while (sva < eva) { + next_bucket = L2_NEXT_BUCKET(sva); + /* * Check for large page. */ - pl1pd = &pmap->pm_l1->l1_kva[L1_IDX(sva)]; - l1pd = *pl1pd; + l1pd = pmap->pm_l1->l1_kva[L1_IDX(sva)]; if ((l1pd & L1_TYPE_MASK) == L1_S_PROTO) { KASSERT((l1pd & L1_S_DOM_MASK) != L1_S_DOM(PMAP_DOMAIN_KERNEL), ("pmap_remove: " @@ -4333,21 +4334,20 @@ pmap_remove(pmap_t pmap, vm_offset_t sva * Are we removing the entire large page? If not, * demote the mapping and fall through. */ - if (sva + L1_S_SIZE == L2_NEXT_BUCKET(sva) && - eva >= L2_NEXT_BUCKET(sva)) { + if (sva + L1_S_SIZE == next_bucket && + eva >= next_bucket) { pmap_remove_section(pmap, sva); - sva = L2_NEXT_BUCKET(sva); + sva = next_bucket; continue; } else if (!pmap_demote_section(pmap, sva)) { /* The large page mapping was destroyed. */ - sva = L2_NEXT_BUCKET(sva); + sva = next_bucket; continue; } } /* * Do one L2 bucket's worth at a time. */ - next_bucket = L2_NEXT_BUCKET(sva); if (next_bucket > eva) next_bucket = eva; @@ -4846,7 +4846,7 @@ pmap_advise(pmap_t pmap, vm_offset_t sva { struct l2_bucket *l2b; struct pv_entry *pve; - pd_entry_t *pl1pd, l1pd; + pd_entry_t l1pd; pt_entry_t *ptep, opte, pte; vm_offset_t next_bucket; vm_page_t m; @@ -4859,8 +4859,7 @@ pmap_advise(pmap_t pmap, vm_offset_t sva next_bucket = L2_NEXT_BUCKET(sva); if (next_bucket < sva) next_bucket = eva; - pl1pd = &pmap->pm_l1->l1_kva[L1_IDX(sva)]; - l1pd = *pl1pd; + l1pd = pmap->pm_l1->l1_kva[L1_IDX(sva)]; if ((l1pd & L1_TYPE_MASK) == L1_S_PROTO) { if (pmap == pmap_kernel()) continue;