svn commit: r218773 - in head/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include sun4v/include vm

Alan Cox alc at FreeBSD.org
Thu Feb 17 15:36:29 UTC 2011


Author: alc
Date: Thu Feb 17 15:36:29 2011
New Revision: 218773
URL: http://svn.freebsd.org/changeset/base/218773

Log:
  Remove pmap fields that are either unused or not fully implemented.
  
  Discussed with:	kib

Modified:
  head/sys/amd64/include/pmap.h
  head/sys/arm/include/pmap.h
  head/sys/i386/include/pmap.h
  head/sys/ia64/include/pmap.h
  head/sys/mips/include/pmap.h
  head/sys/powerpc/include/pmap.h
  head/sys/sparc64/include/pmap.h
  head/sys/sun4v/include/pmap.h
  head/sys/vm/vm_page.c

Modified: head/sys/amd64/include/pmap.h
==============================================================================
--- head/sys/amd64/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/amd64/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -251,8 +251,6 @@ struct pmap {
 	pml4_entry_t		*pm_pml4;	/* KVA of level 4 page table */
 	TAILQ_HEAD(,pv_chunk)	pm_pvchunk;	/* list of mappings in pmap */
 	cpumask_t		pm_active;	/* active on cpus */
-	uint32_t		pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int			pm_retries;
 	/* spare u_int here due to padding */
 	struct pmap_statistics	pm_stats;	/* pmap statistics */
 	vm_page_t		pm_root;	/* spare page table pages */

Modified: head/sys/arm/include/pmap.h
==============================================================================
--- head/sys/arm/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/arm/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -134,8 +134,6 @@ struct	pmap {
 	struct l1_ttable	*pm_l1;
 	struct l2_dtable	*pm_l2[L2_SIZE];
 	pd_entry_t		*pm_pdir;	/* KVA of page directory */
-	uint32_t		pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int			pm_retries;
 	cpumask_t		pm_active;	/* active on cpus */
 	struct pmap_statistics	pm_stats;	/* pmap statictics */
 	TAILQ_HEAD(,pv_entry)	pm_pvlist;	/* list of mappings in pmap */

Modified: head/sys/i386/include/pmap.h
==============================================================================
--- head/sys/i386/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/i386/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -436,8 +436,6 @@ struct pmap {
 	cpumask_t		pm_active;	/* active on cpus */
 	struct pmap_statistics	pm_stats;	/* pmap statistics */
 	LIST_ENTRY(pmap) 	pm_list;	/* List of all pmaps */
-	uint32_t		pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int			pm_retries;
 #ifdef PAE
 	pdpt_entry_t		*pm_pdpt;	/* KVA of page director pointer
 						   table */

Modified: head/sys/ia64/include/pmap.h
==============================================================================
--- head/sys/ia64/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/ia64/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -77,8 +77,6 @@ struct pmap {
 	TAILQ_HEAD(,pv_entry)	pm_pvlist;	/* list of mappings in pmap */
 	uint32_t		pm_rid[5];	/* base RID for pmap */
 	struct pmap_statistics	pm_stats;	/* pmap statistics */
-	uint32_t		pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int			pm_retries;
 };
 
 typedef struct pmap	*pmap_t;

Modified: head/sys/mips/include/pmap.h
==============================================================================
--- head/sys/mips/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/mips/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -79,8 +79,6 @@ struct pmap {
 	pd_entry_t *pm_segtab;	/* KVA of segment table */
 	TAILQ_HEAD(, pv_entry) pm_pvlist;	/* list of mappings in
 						 * pmap */
-	uint32_t	pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int		pm_retries;
 	cpumask_t	pm_active;		/* active on cpus */
 	struct {
 		u_int32_t asid:ASID_BITS;	/* TLB address space tag */

Modified: head/sys/powerpc/include/pmap.h
==============================================================================
--- head/sys/powerpc/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/powerpc/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -99,8 +99,6 @@ struct	pmap {
 	register_t	pm_sr[16];
     #endif
 	cpumask_t	pm_active;
-	uint32_t	pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int		pm_retries;
 
 	struct pmap	*pmap_phys;
 	struct		pmap_statistics	pm_stats;
@@ -178,16 +176,11 @@ struct pmap {
 	struct mtx		pm_mtx;		/* pmap mutex */
 	tlbtid_t		pm_tid[MAXCPU];	/* TID to identify this pmap entries in TLB */
 	cpumask_t		pm_active;	/* active on cpus */
-	int			pm_refs;	/* ref count */
 	struct pmap_statistics	pm_stats;	/* pmap statistics */
 
 	/* Page table directory, array of pointers to page tables. */
 	pte_t			*pm_pdir[PDIR_NENTRIES];
 
-	/* generation count (pmap lock dropped) */
-	uint32_t		pm_gen_count;
-	u_int			pm_retries;
-
 	/* List of allocated ptbl bufs (ptbl kva regions). */
 	TAILQ_HEAD(, ptbl_buf)	pm_ptbl_list;
 };

Modified: head/sys/sparc64/include/pmap.h
==============================================================================
--- head/sys/sparc64/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/sparc64/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -62,8 +62,6 @@ struct pmap {
 	struct	tte *pm_tsb;
 	vm_object_t pm_tsb_obj;
 	cpumask_t pm_active;
-	uint32_t pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int	pm_retries;
 	u_int	pm_context[MAXCPU];
 	struct	pmap_statistics pm_stats;
 };

Modified: head/sys/sun4v/include/pmap.h
==============================================================================
--- head/sys/sun4v/include/pmap.h	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/sun4v/include/pmap.h	Thu Feb 17 15:36:29 2011	(r218773)
@@ -74,8 +74,6 @@ struct pmap {
 	struct tte_hash        *pm_hash;
 	TAILQ_HEAD(,pv_entry)	pm_pvlist;	/* list of mappings in pmap */
 	struct hv_tsb_info      pm_tsb;
-	uint32_t		pm_gen_count;	/* generation count (pmap lock dropped) */
-	u_int			pm_retries;
 	cpumask_t		pm_active;      /* mask of cpus currently using pmap */
 	cpumask_t		pm_tlbactive;   /* mask of cpus that have used this pmap */
 	struct	pmap_statistics pm_stats;

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Thu Feb 17 15:10:13 2011	(r218772)
+++ head/sys/vm/vm_page.c	Thu Feb 17 15:36:29 2011	(r218773)
@@ -152,10 +152,6 @@ TUNABLE_INT("vm.boot_pages", &boot_pages
 SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RD, &boot_pages, 0,
 	"number of pages allocated for bootstrapping the VM system");
 
-static int pa_tryrelock_race;
-SYSCTL_INT(_vm, OID_AUTO, tryrelock_race, CTLFLAG_RD,
-    &pa_tryrelock_race, 0, "Number of tryrelock race cases");
-
 static int pa_tryrelock_restart;
 SYSCTL_INT(_vm, OID_AUTO, tryrelock_restart, CTLFLAG_RD,
     &pa_tryrelock_restart, 0, "Number of tryrelock restarts");
@@ -181,9 +177,7 @@ int
 vm_page_pa_tryrelock(pmap_t pmap, vm_paddr_t pa, vm_paddr_t *locked)
 {
 	vm_paddr_t lockpa;
-	uint32_t gen_count;
 
-	gen_count = pmap->pm_gen_count;
 	lockpa = *locked;
 	*locked = pa;
 	if (lockpa) {
@@ -198,13 +192,7 @@ vm_page_pa_tryrelock(pmap_t pmap, vm_pad
 	atomic_add_int(&pa_tryrelock_restart, 1);
 	PA_LOCK(pa);
 	PMAP_LOCK(pmap);
-
-	if (pmap->pm_gen_count != gen_count + 1) {
-		pmap->pm_retries++;
-		atomic_add_int(&pa_tryrelock_race, 1);
-		return (EAGAIN);
-	}
-	return (0);
+	return (EAGAIN);
 }
 
 /*


More information about the svn-src-all mailing list