Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Sep 2015 07:18:06 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r288256 - in head/sys: amd64/amd64 arm/arm arm64/arm64 i386/i386 mips/mips
Message-ID:  <201509260718.t8Q7I64C012056@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Sat Sep 26 07:18:05 2015
New Revision: 288256
URL: https://svnweb.freebsd.org/changeset/base/288256

Log:
  Exploit r288122 to address a cosmetic issue.  Since PV chunk pages don't
  belong to a vm object, they can't be paged out.  Since they can't be paged
  out, they are never enqueued in a paging queue.  Nonetheless, passing
  PQ_INACTIVE to vm_page_unwire() creates the appearance that these pages
  are being enqueued in the inactive queue.  As of r288122, we can avoid
  this false impression by passing PQ_NONE.
  
  Submitted by:	kmacy (an earlier version)
  Differential Revision:	https://reviews.freebsd.org/D1674

Modified:
  head/sys/amd64/amd64/pmap.c
  head/sys/arm/arm/pmap-v6-new.c
  head/sys/arm/arm/pmap-v6.c
  head/sys/arm64/arm64/pmap.c
  head/sys/i386/i386/pmap.c
  head/sys/mips/mips/pmap.c

Modified: head/sys/amd64/amd64/pmap.c
==============================================================================
--- head/sys/amd64/amd64/pmap.c	Sat Sep 26 07:14:00 2015	(r288255)
+++ head/sys/amd64/amd64/pmap.c	Sat Sep 26 07:18:05 2015	(r288256)
@@ -2860,7 +2860,7 @@ free_pv_chunk(struct pv_chunk *pc)
 	/* entire chunk is free, return it */
 	m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc));
 	dump_drop_page(m->phys_addr);
-	vm_page_unwire(m, PQ_INACTIVE);
+	vm_page_unwire(m, PQ_NONE);
 	vm_page_free(m);
 }
 

Modified: head/sys/arm/arm/pmap-v6-new.c
==============================================================================
--- head/sys/arm/arm/pmap-v6-new.c	Sat Sep 26 07:14:00 2015	(r288255)
+++ head/sys/arm/arm/pmap-v6-new.c	Sat Sep 26 07:18:05 2015	(r288256)
@@ -2866,7 +2866,7 @@ free_pv_chunk(struct pv_chunk *pc)
 	/* entire chunk is free, return it */
 	m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc));
 	pmap_qremove((vm_offset_t)pc, 1);
-	vm_page_unwire(m, PQ_INACTIVE);
+	vm_page_unwire(m, PQ_NONE);
 	vm_page_free(m);
 	pmap_pte2list_free(&pv_vafree, (vm_offset_t)pc);
 }

Modified: head/sys/arm/arm/pmap-v6.c
==============================================================================
--- head/sys/arm/arm/pmap-v6.c	Sat Sep 26 07:14:00 2015	(r288255)
+++ head/sys/arm/arm/pmap-v6.c	Sat Sep 26 07:18:05 2015	(r288256)
@@ -4292,7 +4292,7 @@ pmap_free_pv_chunk(struct pv_chunk *pc)
 	/* entire chunk is free, return it */
 	m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc));
 	pmap_qremove((vm_offset_t)pc, 1);
-	vm_page_unwire(m, PQ_INACTIVE);
+	vm_page_unwire(m, PQ_NONE);
 	vm_page_free(m);
 	pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc);
 

Modified: head/sys/arm64/arm64/pmap.c
==============================================================================
--- head/sys/arm64/arm64/pmap.c	Sat Sep 26 07:14:00 2015	(r288255)
+++ head/sys/arm64/arm64/pmap.c	Sat Sep 26 07:18:05 2015	(r288256)
@@ -1517,7 +1517,7 @@ free_pv_chunk(struct pv_chunk *pc)
 	/* entire chunk is free, return it */
 	m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc));
 	dump_drop_page(m->phys_addr);
-	vm_page_unwire(m, PQ_INACTIVE);
+	vm_page_unwire(m, PQ_NONE);
 	vm_page_free(m);
 }
 

Modified: head/sys/i386/i386/pmap.c
==============================================================================
--- head/sys/i386/i386/pmap.c	Sat Sep 26 07:14:00 2015	(r288255)
+++ head/sys/i386/i386/pmap.c	Sat Sep 26 07:18:05 2015	(r288256)
@@ -2312,7 +2312,7 @@ free_pv_chunk(struct pv_chunk *pc)
 	/* entire chunk is free, return it */
 	m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc));
 	pmap_qremove((vm_offset_t)pc, 1);
-	vm_page_unwire(m, PQ_INACTIVE);
+	vm_page_unwire(m, PQ_NONE);
 	vm_page_free(m);
 	pmap_ptelist_free(&pv_vafree, (vm_offset_t)pc);
 }

Modified: head/sys/mips/mips/pmap.c
==============================================================================
--- head/sys/mips/mips/pmap.c	Sat Sep 26 07:14:00 2015	(r288255)
+++ head/sys/mips/mips/pmap.c	Sat Sep 26 07:18:05 2015	(r288256)
@@ -1527,7 +1527,7 @@ free_pv_chunk(struct pv_chunk *pc)
 	PV_STAT(pc_chunk_frees++);
 	/* entire chunk is free, return it */
 	m = PHYS_TO_VM_PAGE(MIPS_DIRECT_TO_PHYS((vm_offset_t)pc));
-	vm_page_unwire(m, PQ_INACTIVE);
+	vm_page_unwire(m, PQ_NONE);
 	vm_page_free(m);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509260718.t8Q7I64C012056>