Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Mar 2003 11:51:30 -0800 (PST)
From:      Serguei Tzukanov <tzukanov@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 26942 for review
Message-ID:  <200303151951.h2FJpULZ092397@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=26942

Change 26942 by tzukanov@tzukanov_antares on 2003/03/15 11:50:51

	Compilation fixes.

Affected files ...

.. //depot/projects/s390/lib/libc/s390/arith.h#1 add
.. //depot/projects/s390/lib/libc/s390/stdlib/gdtoa.mk#1 add
.. //depot/projects/s390/libexec/rtld-elf/s390/reloc.c#4 edit
.. //depot/projects/s390/sys/s390/s390/hhc.c#4 edit
.. //depot/projects/s390/sys/s390/s390/hmcsc.c#6 edit
.. //depot/projects/s390/sys/s390/s390/mem.c#4 edit
.. //depot/projects/s390/sys/s390/s390/pmap.c#10 edit
.. //depot/projects/s390/sys/s390/s390/trap.c#6 edit

Differences ...

==== //depot/projects/s390/libexec/rtld-elf/s390/reloc.c#4 (text+ko) ====

@@ -247,8 +247,6 @@
 		     PROT_READ|PROT_WRITE, MAP_ANON, -1, 0);
 	if (cache == MAP_FAILED)
 		cache = NULL;
-	else
-		memset(cache, 0, obj->nchains * sizeof(SymCache));
 
 	relalim = (const Elf_Rela *)((caddr_t)obj->rela + obj->relasize);
 	for (rela = obj->rela;  rela < relalim;  rela++) {

==== //depot/projects/s390/sys/s390/s390/hhc.c#4 (text+ko) ====

@@ -233,19 +233,14 @@
 }
 
 static struct cdevsw hhc_cdevsw = {
-	/* open */	hhc_open,
-	/* close */	hhc_close,
-	/* read */	ttyread,
-	/* write */	ttywrite,
-	/* ioctl */	hhc_ioctl,
-	/* poll */	ttypoll,
-	/* mmap */	nommap,
-	/* strategy */	nostrategy,
-	/* name */	"hhc",
-	/* major */	CDEV_MAJOR,
-	/* dump */	nodump,
-	/* psize */	nopsize,
-	/* flags */	0
+	.d_open =	hhc_open,
+	.d_close =	hhc_close,
+	.d_read =	ttyread,
+	.d_write =	ttywrite,
+	.d_ioctl =	hhc_ioctl,
+	.d_poll =	ttypoll,
+	.d_name =	"hhc",
+	.d_maj =	CDEV_MAJOR,
 };
 
 static void

==== //depot/projects/s390/sys/s390/s390/hmcsc.c#6 (text+ko) ====

@@ -348,19 +348,14 @@
 }
 
 static struct cdevsw hmcsc_cdevsw = {
-	/* open */	hmcsc_open,
-	/* close */	hmcsc_close,
-	/* read */	ttyread,
-	/* write */	ttywrite,
-	/* ioctl */	hmcsc_ioctl,
-	/* poll */	ttypoll,
-	/* mmap */	nommap,
-	/* strategy */	nostrategy,
-	/* name */	"hmcsc",
-	/* major */	CDEV_MAJOR,
-	/* dump */	nodump,
-	/* psize */	nopsize,
-	/* flags */	0
+	.d_open =	hmcsc_open,
+	.d_close =	hmcsc_close,
+	.d_read =	ttyread,
+	.d_write =	ttywrite,
+	.d_ioctl =	hmcsc_ioctl,
+	.d_poll =	ttypoll,
+	.d_name =	"hmcsc",
+	.d_maj =	CDEV_MAJOR,
 };
 
 static void

==== //depot/projects/s390/sys/s390/s390/mem.c#4 (text+ko) ====

@@ -172,19 +172,14 @@
 #define CDEV_MAJOR 2
 
 static struct cdevsw mem_cdevsw = {
-	/* open */	mmopen,
-	/* close */	mmclose,
-	/* read */	mmrw,
-	/* write */	mmrw,
-	/* ioctl */	noioctl,
-	/* poll */	(d_poll_t *)seltrue,
-	/* mmap */	memmmap,
-	/* strategy */	nostrategy,
-	/* name */	"mem",
-	/* maj */	CDEV_MAJOR,
-	/* dump */	nodump,
-	/* psize */	nopsize,
-	/* flags */	D_MEM,
+	.d_open =	mmopen,
+	.d_close =	mmclose,
+	.d_read =	mmrw,
+	.d_write =	mmrw,
+	.d_mmap =	memmmap,
+	.d_name = 	"mem",
+	.d_maj =	CDEV_MAJOR,
+	.d_flags =	D_MEM,
 };
 
 static dev_t memdev, kmemdev;

==== //depot/projects/s390/sys/s390/s390/pmap.c#10 (text+ko) ====

@@ -669,37 +669,6 @@
 	return 0;
 }
 
-static int
-pmap_release_free_page(pmap_t pmap, vm_page_t m)
-{
-	CTR3(KTR_PMAP, "pmap_release_free_page: pmap = %p, pa = %x, pindex = %u",
-			pmap, VM_PAGE_TO_PHYS(m), m->pindex);
-
-	vm_page_lock_queues();
-	if (vm_page_sleep_if_busy(m, FALSE, "pmrfp"))
-		return 0;
-
-	vm_page_busy(m);
-
-	/* Remove the page table page from the processes address space. */
-	pmap->pm_stats.resident_count--;
-
-	KASSERT(m->hold_count == 0,
-		("pmap_release_free_page: freeing held page table page"));
-
-	if (m->pindex == NPTP)
-		pmap_kremove((vm_offset_t)pmap->pm_sto);
-	else
-		pmap_clear_ste_quad(&pmap->pm_sto[m->pindex << 2]);
-
-	m->wire_count--;
-	cnt.v_wire_count--;
-	vm_page_free(m);
-	vm_page_unlock_queues();
-
-	return 1;
-}
-
 static void *
 pmap_allocf(uma_zone_t zone, int size, uint8_t *pflag, int wait)
 {
@@ -1229,7 +1198,7 @@
 
 	stpg = vm_page_grab(pmap->pm_pteobj, NPTP,
 			    VM_ALLOC_NORMAL | VM_ALLOC_RETRY |
-			    VM_ALLOC_WIRED | VM_ALLOC_ZERO);
+			    VM_ALLOC_WIRED);
 	vm_page_lock_queues();
 	vm_page_flag_clear(stpg, PG_BUSY);
 	stpg->valid = VM_PAGE_BITS_ALL;
@@ -1345,35 +1314,28 @@
 pmap_release(pmap_t pmap)
 {
 	vm_object_t pteobj;
-	vm_page_t stpg = NULL;
-	vm_page_t m, nm;
-	int curgeneration;
+	vm_page_t m;
 
 	CTR1(KTR_PMAP, "pmap_release: pmap = %p", pmap);
 
 	pteobj = pmap->pm_pteobj;
 	KASSERT(pteobj->ref_count == 1,
 		("pmap_release: pteobj ref count != 1"));
+	KASSERT(pmap->pm_stats.resident_count == 0,
+		("pmap_release: pmap resident count != 1"));
+
+	pmap_kremove((vm_offset_t)pmap->pm_sto);
+
+	vm_page_lock_queues();
+	m = TAILQ_FIRST(&pteobj->memq);
+	m->wire_count--;
+	cnt.v_wire_count--;
+	vm_page_busy(m);
+	vm_page_free(m);
 
-retry:
-	curgeneration = pteobj->generation;
-	for (m = TAILQ_FIRST(&pteobj->memq); m != NULL; m = nm) {
-		nm = TAILQ_NEXT(m, listq);
-		if (m->pindex == NPTP) {
-			CTR0(KTR_PMAP, "pmap_release: NPTP case");
-			stpg = m;
-			continue;
-		}
-		for (;;) {
-			CTR0(KTR_PMAP, "pmap_release: loop");
-			if (!pmap_release_free_page(pmap, m) &&
-			    (pteobj->generation != curgeneration))
-				goto retry;
-		}
-	}
-	CTR1(KTR_PMAP, "pmap_release: stpg = %x", VM_PAGE_TO_PHYS(m));
-	if (stpg && !pmap_release_free_page(pmap, stpg))
-		goto retry;
+	KASSERT(TAILQ_EMPTY(&pteobj->memq),
+		("pmap_release: leaking page table pages"));
+	vm_page_unlock_queues();
 }
 
 void

==== //depot/projects/s390/sys/s390/s390/trap.c#6 (text+ko) ====

@@ -614,11 +614,8 @@
 	cred_free_thread(td);
 #endif
 
-#ifdef WITNESS
-	KASSERT(witness_list(td) == 0,
-		("system call %s returning with mutex(s) held",
-		 syscallnames[code]));
-#endif
+	WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning",
+		     syscallnames[code]);
 	mtx_assert(&sched_lock, MA_NOTOWNED);
 	mtx_assert(&Giant, MA_NOTOWNED);
 }

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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