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>