From nobody@FreeBSD.org  Tue Nov  5 12:11:51 2002
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B41D637B401
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  5 Nov 2002 12:11:51 -0800 (PST)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 117EB43E77
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  5 Nov 2002 12:11:51 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.12.6/8.12.6) with ESMTP id gA5KBj7R043024
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 5 Nov 2002 12:11:45 -0800 (PST)
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.12.6/8.12.6/Submit) id gA5KBjfE043023;
	Tue, 5 Nov 2002 12:11:45 -0800 (PST)
Message-Id: <200211052011.gA5KBjfE043023@www.freebsd.org>
Date: Tue, 5 Nov 2002 12:11:45 -0800 (PST)
From: Heiko Weber <heiko@wecos.de>
To: freebsd-gnats-submit@FreeBSD.org
Subject: SMP kernel crash in vm_page_free: freeing wired page
X-Send-Pr-Version: www-1.0

>Number:         44950
>Category:       kern
>Synopsis:       SMP kernel crash in vm_page_free: freeing wired page
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 05 12:20:01 PST 2002
>Closed-Date:    Wed Sep 03 05:01:15 PDT 2003
>Last-Modified:  Wed Sep 03 05:01:15 PDT 2003
>Originator:     Heiko Weber
>Release:        4.7-STABLE
>Organization:
Wecos
>Environment:
uname -a
FreeBSD www.terminmarktwelt.de 4.7-STABLE FreeBSD 4.7-STABLE #3: Mon Oct 21 22:27:42 CEST 2002     heiko@www.terminmarktwelt.de:/usr/src/sys/compile/DONALD  i386

>Description:
My SMP machine runs stable rock stable with 4.5-STABLE. After 4.6 was released, I used cvsup to update the machine. Since then the machine reboots every week or so. With 4.7-STABLE it was just the same. So I pushed myself, compiled my kernel with DEBUG=-g and setup dumpon. And here is the result after the first crash:

gdb -k kernel /var/crash/vmcore.0
GNU gdb 4.18 (FreeBSD)
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
(no debugging symbols found)...
SMP 2 cpus
IdlePTD at phsyical address 0x002fd000
initial pcb at physical address 0x00275d60
panicstr: vm_page_free: freeing wired page

panic messages:
---
panic: vm_page_free: freeing wired page

mp_lock = 01000001; cpuid = 1; lapic.id = 01000000
boot() called on cpu#1

syncing disks... 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
giving up on 41 buffers
Uptime: 14d16h33m35s

dumping to dev #da/0x20001, offset 2621568
dump 767 766 765 764 763 762 ... [lots of digits removed ...]
---
#0  0xc016209a in dumpsys ()
(kgdb) where
#0  0xc016209a in dumpsys ()
#1  0xc0161e6b in boot ()
#2  0xc01622c4 in poweroff_wait ()
#3  0xc01e1036 in vm_page_free_toq ()
#4  0xc01dfe14 in vm_object_collapse ()
#5  0xc01df044 in vm_object_deallocate ()
#6  0xc01dc4e0 in vm_map_entry_delete ()
#7  0xc01dc699 in vm_map_delete ()
#8  0xc01dc726 in vm_map_remove ()
#9  0xc015a220 in exit1 ()
#10 0xc0159ff0 in exit1 ()
#11 0xc0211349 in syscall2 ()
#12 0xc01fb88b in Xint0x80_syscall ()
Cannot access memory at address 0xbfbffd08.
(kgdb)

I just wonder why I don't get the symbol in kdb, if I do 'file kernel' I get:

kernel: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped

And here is some stuff from /var/log/messages:

Nov  5 14:16:38 www /kernel: Copyright (c) 1992-2002 The FreeBSD Project.
Nov  5 14:16:38 www /kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Nov  5 14:16:38 www /kernel: The Regents of the University of California. All rights reserved.
Nov  5 14:16:38 www /kernel: FreeBSD 4.7-STABLE #3: Mon Oct 21 22:27:42 CEST 2002
Nov  5 14:16:38 www /kernel: heiko@www.terminmarktwelt.de:/usr/src/sys/compile/DONALD
Nov  5 14:16:38 www /kernel: Timecounter "i8254"  frequency 1193182 Hz
Nov  5 14:16:38 www /kernel: CPU: Pentium III/Pentium III Xeon/Celeron (1003.66-MHz 686-class CPU)
Nov  5 14:16:38 www /kernel: Origin = "GenuineIntel"  Id = 0x68a  Stepping = 10
Nov  5 14:16:38 www /kernel: Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
Nov  5 14:16:38 www /kernel: real memory  = 805240832 (786368K bytes)
Nov  5 14:16:38 www /kernel: avail memory = 780779520 (762480K bytes)
Nov  5 14:16:38 www /kernel: Programming 24 pins in IOAPIC #0
Nov  5 14:16:38 www /kernel: IOAPIC #0 intpin 2 -> irq 0
Nov  5 14:16:38 www /kernel: FreeBSD/SMP: Multiprocessor motherboard
Nov  5 14:16:38 www /kernel: cpu0 (BSP): apic id:  0, version: 0x00040011, at 0xfee00000
Nov  5 14:16:38 www /kernel: cpu1 (AP):  apic id:  1, version: 0x00040011, at 0xfee00000
Nov  5 14:16:38 www /kernel: io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
Nov  5 14:16:38 www /kernel: Preloaded elf kernel "kernel" at 0xc02de000.
Nov  5 14:16:38 www /kernel: Pentium Pro MTRR support enabled
Nov  5 14:16:38 www /kernel: md0: Malloc disk
Nov  5 14:16:38 www /kernel: Using $PIR table, 9 entries at 0xc00fa1c0
Nov  5 14:16:38 www /kernel: npx0: <math processor> on motherboard
Nov  5 14:16:38 www /kernel: npx0: INT 16 interface
Nov  5 14:16:38 www /kernel: pcib0: <Host to PCI bridge> on motherboard
Nov  5 14:16:38 www /kernel: IOAPIC #0 intpin 18 -> irq 2
Nov  5 14:16:38 www /kernel: IOAPIC #0 intpin 19 -> irq 16
Nov  5 14:16:38 www /kernel: pci0: <PCI bus> on pcib0
Nov  5 14:16:38 www /kernel: pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
Nov  5 14:16:38 www /kernel: pci1: <PCI bus> on pcib2
Nov  5 14:16:38 www /kernel: pci1: <ATI model 5446 graphics accelerator> at 0.0 irq 17
Nov  5 14:16:38 www /kernel: isab0: <VIA 82C686 PCI-ISA bridge> at device 7.0 on pci0
Nov  5 14:16:38 www /kernel: isa0: <ISA bus> on isab0
Nov  5 14:16:38 www /kernel: pci0: <VIA Apollo ATA controller> at 7.1
Nov  5 14:16:38 www /kernel: pci0: <unknown card> (vendor=0x1106, dev=0x3057) at 7.4
Nov  5 14:16:38 www /kernel: fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x8c00-0x8c3f mem 0x88300000-0x883fffff,0x88200000-0x88200fff irq 2 at device 13.0 on pci0
Nov  5 14:16:38 www /kernel: fxp0: Ethernet address 00:00:e2:40:07:39
Nov  5 14:16:38 www /kernel: inphy0: <i82555 10/100 media interface> on miibus0
Nov  5 14:16:38 www /kernel: inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Nov  5 14:16:38 www /kernel: ahc0: <Adaptec aic7899 Ultra160 SCSI adapter> port 0x8400-0x84ff mem 0x80201000-0x80201fff irq 16 at device 15.0 on pci0
Nov  5 14:16:38 www /kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
Nov  5 14:16:38 www /kernel: ahc1: <Adaptec aic7899 Ultra160 SCSI adapter> port 0x8800-0x88ff mem 0x80202000-0x80202fff irq 16 at device 15.1 on pci0
Nov  5 14:16:38 www /kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
Nov  5 14:16:38 www /kernel: pcib1: <Host to PCI bridge> on motherboard
Nov  5 14:16:38 www /kernel: pci2: <PCI bus> on pcib1
Nov  5 14:16:38 www /kernel: orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xe0000-0xe5fff on isa0
Nov  5 14:16:38 www /kernel: fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
Nov  5 14:16:38 www /kernel: fdc0: FIFO enabled, 8 bytes threshold
Nov  5 14:16:38 www /kernel: fd0: <1440-KB 3.5" drive> on fdc0 drive 0
Nov  5 14:16:38 www /kernel: atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
Nov  5 14:16:38 www /kernel: atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
Nov  5 14:16:38 www /kernel: kbd0 at atkbd0
Nov  5 14:16:38 www /kernel: vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Nov  5 14:16:38 www /kernel: sc0: <System console> at flags 0x100 on isa0
Nov  5 14:16:38 www /kernel: sc0: VGA <16 virtual consoles, flags=0x300>
Nov  5 14:16:38 www /kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
Nov  5 14:16:38 www /kernel: sio0: type 16550A
Nov  5 14:16:38 www /kernel: sio1 at port 0x2f8-0x2ff irq 3 on isa0
Nov  5 14:16:38 www /kernel: sio1: type 16550A
Nov  5 14:16:38 www /kernel: ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
Nov  5 14:16:38 www /kernel: ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
Nov  5 14:16:38 www /kernel: lpt0: <Printer> on ppbus0
Nov  5 14:16:38 www /kernel: lpt0: Interrupt-driven port
Nov  5 14:16:38 www /kernel: RTC BIOS diagnostic error 20<config_unit>
Nov  5 14:16:38 www /kernel: APIC_IO: Testing 8254 interrupt delivery
Nov  5 14:16:38 www /kernel: APIC_IO: routing 8254 via IOAPIC #0 intpin 2
Nov  5 14:16:38 www /kernel: IP packet filtering initialized, divert disabled, rule-based forwarding enabled, default to deny, logging limited to 10 packets/entry by default
Nov  5 14:16:38 www /kernel: Waiting 15 seconds for SCSI devices to settle
Nov  5 14:16:38 www /kernel: SMP: AP CPU #1 Launched!
Nov  5 14:16:38 www /kernel: Mounting root from ufs:/dev/da0s1a
Nov  5 14:16:38 www /kernel: da0 at ahc0 bus 0 target 0 lun 0
Nov  5 14:16:38 www /kernel: da0: <IBM DDYS-T18350N S96H> Fixed Direct Access SCSI-3 device
Nov  5 14:16:38 www /kernel: da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
Nov  5 14:16:38 www /kernel: da0: 17501MB (35843670 512 byte sectors: 255H 63S/T 2231C)
Nov  5 14:16:39 www /kernel: da1 at ahc0 bus 0 target 1 lun 0
Nov  5 14:16:39 www /kernel: da1: <IBM DDYS-T18350N S96H> Fixed Direct Access SCSI-3 device
Nov  5 14:16:39 www /kernel: da1: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
Nov  5 14:16:39 www /kernel: da1: 17501MB (35843670 512 byte sectors: 255H 63S/T 2231C)
Nov  5 14:16:39 www /kernel: da2 at ahc0 bus 0 target 2 lun 0
Nov  5 14:16:39 www /kernel: da2: <IBM DDYS-T18350N S96H> Fixed Direct Access SCSI-3 device
Nov  5 14:16:39 www /kernel: da2: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
Nov  5 14:16:39 www /kernel: da2: 17501MB (35843670 512 byte sectors: 255H 63S/T 2231C)
Nov  5 14:16:39 www /kernel: WARNING: / was not properly dismounted
Nov  5 14:16:39 www savecore: reboot after panic: vm_page_free: freeing wired page
Nov  5 14:16:39 www savecore: /var/crash/bounds: No such file or directory
Nov  5 14:16:39 www savecore: writing core to /var/crash/vmcore.0
Nov  5 14:17:26 www savecore: writing kernel to /var/crash/kernel.0
Nov  5 14:17:26 www named[106]: starting (/etc/namedb/named.conf).  named 8.3.3-REL Sat Oct 19 17:09:44 CEST 2002       heiko@www.terminmarktwelt.de:/usr/obj/usr/src/usr.sbin/named
Nov  5 14:17:26 www named[107]: Ready to answer queries.
Nov  5 14:17:27 www ntpd[109]: ntpd 4.1.0-a Sat Oct 19 17:09:25 CEST 2002 (1)
Nov  5 14:17:27 www ntpd[109]: kernel time discipline status 2040
Nov  5 14:20:54 www ntpd[109]: time reset 10.127668 s
Nov  5 14:20:54 www ntpd[109]: kernel time discipline status change 2041
Nov  5 14:22:05 www named[107]: reloading nameserver
Nov  5 14:22:05 www named[107]: forwarder '127.0.0.1' ignored, my address
Nov  5 14:22:05 www named[107]: couldn't create pid file '/var/run/named.pid'
Nov  5 14:22:05 www named[107]: Ready to answer queries.

Ask me, if you need more infos.

>How-To-Repeat:

>Fix:
      
>Release-Note:
>Audit-Trail:

From: "Heiko Weber" <heiko@wecos.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc:  
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Wed, 6 Nov 2002 00:29:40 +0100

 Hmm, now I was able to load the symbols, maybe this helps:
 
 (kgdb) where
 #0  dumpsys () at ../../kern/kern_shutdown.c:487
 #1  0xc0161e6b in boot (howto=256) at ../../kern/kern_shutdown.c:316
 #2  0xc01622c4 in poweroff_wait (junk=0xc0243dc0, howto=-1061671216)
     at ../../kern/kern_shutdown.c:595
 #3  0xc01e1036 in vm_page_free_toq (m=0xc0b82ed0) at ../../vm/vm_page.c:1123
 #4  0xc01dfe14 in vm_object_collapse (object=0xd8a06c00)
     at ../../vm/vm_page.h:514
 #5  0xc01df044 in vm_object_deallocate (object=0xd8969360)
     at ../../vm/vm_object.c:369
 #6  0xc01dc4e0 in vm_map_entry_delete (map=0xd85a5e80, entry=0xd85cdbd0)
     at ../../vm/vm_map.c:2027
 #7  0xc01dc699 in vm_map_delete (map=0xd85a5e80, start=0, end=3217031168)
     at ../../vm/vm_map.c:2147
 #8  0xc01dc726 in vm_map_remove (map=0xd85a5e80, start=0, end=3217031168)
     at ../../vm/vm_map.c:2172
 #9  0xc015a220 in exit1 (p=0xd8567c20, rv=0) at ../../kern/kern_exit.c:217
 #10 0xc0159ff0 in exit1 (p=0xd8567c20, rv=-1072277080)
     at ../../kern/kern_exit.c:103
 #11 0xc0211349 in syscall2 (frame={tf_fs = 137363503, tf_es = 135004207,
       tf_ds = -1078001617, tf_edi = 0, tf_esi = -1, tf_ebp = -1077936888,
       tf_isp = -664981548, tf_ebx = 672930860, tf_edx = 672930272, tf_ecx =
 5,
       tf_eax = 1, tf_trapno = 12, tf_err = 2, tf_eip = 672610152, tf_cs =
 31,
       tf_eflags = 647, tf_esp = -1077936932, tf_ss = 47})
     at ../../i386/i386/trap.c:1175
 #12 0xc01fb88b in Xint0x80_syscall ()
 

From: "Heiko Weber" <heiko@wecos.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc:  
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Sun, 17 Nov 2002 23:37:22 +0100

 Hmm, I just found the bug report #29295 told about the same problem. Maybe
 this helps, too.
 

From: "Heiko Weber" <heiko@wecos.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc:  
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Thu, 21 Nov 2002 00:50:31 +0100

 It looks like, that noone else has this kind of error - got no response so
 far. The reason could be that my server uses shared memory - not very large
 segments (maybe 10 segments each 64kB size). But these pages will be used
 very often: A Server process is adding data to the segments, and many
 clients hang on a semaphore and wait to read the new data. Each segement
 contains "a lot" of (so called) rows.
 Maybe next evening I could write a "stress test" dummy client/server, to see
 if I could reproduce a crash.
 With the current "4.7-STABLE" my machine crashes each day ... :-(
 
 Heiko
 

From: "Heiko Weber" <heiko@wecos.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc:  
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Thu, 5 Dec 2002 01:35:39 +0100

 Well, I was not able to write a programm to bring the machine down faster.
 But I was able to make the machine much more stable: remove SMP support from
 the kernel (disable option SMP). Now I have an uptime of about 36 hours !
 really great, isn't it :-(
 So I assume that there is a VM bug with SMP ...
 
 Lets see, if the machine will run for a week or so ... slower ...
 
 Heiko
 

From: "Heiko Weber" <heiko@wecos.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc:  
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Thu, 26 Dec 2002 22:36:40 +0100

 Yes, without SMP the machine is much more stable. The uptime is now 17 days
 and growing ...
 
 Heiko
 

From: "Heiko Weber" <heiko@terminmarktwelt.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc: =?iso-8859-1?Q?Lars_K=F6ller?= <lars.koeller@uni-bielefeld.de>
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Mon, 4 Aug 2003 21:51:43 +0200

 Hi !
 
 Now I have a second SMP machine (Fujitsu Siemens TX200 with two Xeon) 
 with same configuration, now FreeBSD 4.8-STABLE. 
 
 "Same procedure than last year Mrs. Sophie ?"
 "Same procedure than every year James !". 
 
 With an uptime of about 2 days I got today the first crash: stack trace is:
 
 (kgdb) where
 #0  0xc016e052 in dumpsys ()
 #1  0xc016de23 in boot ()
 #2  0xc016e27c in poweroff_wait ()
 #3  0xc02286ca in vm_page_free_toq ()
 #4  0xc02274bc in vm_object_collapse ()
 #5  0xc02266d0 in vm_object_deallocate ()
 #6  0xc0223b74 in vm_map_entry_delete ()
 #7  0xc0223d2d in vm_map_delete ()
 #8  0xc0223dba in vm_map_remove ()
 
 Someone has an idea other than turn off SMP ?
 
 Heiko
 ---
 Wecos - Heiko Weber Computer Systeme
 Tel. +49 (4169) 91000 <> Fax +49 (4169) 919033
 

From: "Heiko Weber" <heiko@terminmarktwelt.de>
To: <freebsd-gnats-submit@FreeBSD.org>, <heiko@wecos.de>
Cc:  
Subject: Re: kern/44950: SMP kernel crash in vm_page_free: freeing wired page
Date: Sat, 30 Aug 2003 11:09:49 +0200

 Thanks to Tor Egge,
 
 he send me a kernel patch for the vm. The system is up without a panic after
 installing the patch. Maybe it will help others to get a more stable SMP
 system.
 Tor Egge suggested, that the problem can also happen on a single processor.
 I run 4.8-STABLE here ... maybe the bug is fixed in -CURRENT, would be good
 to put the fix in the upcoming 4.9-STABLE ?
 
 Heiko
 
 Index: sys/vm/vm_page.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/vm/vm_page.c,v
 retrieving revision 1.147.2.18
 diff -u -r1.147.2.18 vm_page.c
 --- sys/vm/vm_page.c 10 Mar 2002 05:03:19 -0000 1.147.2.18
 +++ sys/vm/vm_page.c 6 Aug 2003 23:09:58 -0000
 @@ -1403,7 +1408,8 @@
  {
   int s;
 
 - if ((m->flags & (PG_BUSY|PG_UNMANAGED)) || m->busy || m->wire_count) {
 + if ((m->flags & (PG_BUSY|PG_UNMANAGED)) || m->busy ||
 +     m->hold_count || m->wire_count) {
    printf("vm_page_cache: attempting to cache busy page\n");
    return;
   }
 Index: sys/kern/sys_pipe.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/kern/sys_pipe.c,v
 retrieving revision 1.60.2.14
 diff -u -r1.60.2.14 sys_pipe.c
 --- sys/kern/sys_pipe.c 3 Aug 2003 13:04:57 -0000 1.60.2.14
 +++ sys/kern/sys_pipe.c 6 Aug 2003 23:09:58 -0000
 @@ -561,12 +561,12 @@
     int j;
 
     for (j = 0; j < i; j++)
 -    vm_page_unwire(wpipe->pipe_map.ms[j], 1);
 +    vm_page_unhold(wpipe->pipe_map.ms[j]);
     return (EFAULT);
    }
 
    m = PHYS_TO_VM_PAGE(paddr);
 -  vm_page_wire(m);
 +  vm_page_hold(m);
    wpipe->pipe_map.ms[i] = m;
   }
 
 @@ -627,7 +627,7 @@
    }
   }
   for (i = 0; i < wpipe->pipe_map.npages; i++)
 -  vm_page_unwire(wpipe->pipe_map.ms[i], 1);
 +  vm_page_unhold(wpipe->pipe_map.ms[i]);
   wpipe->pipe_map.npages = 0;
  }
 
 Index: sys/miscfs/procfs/procfs_mem.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/miscfs/procfs/Attic/procfs_mem.c,v
 retrieving revision 1.46.2.3
 diff -u -r1.46.2.3 procfs_mem.c
 --- sys/miscfs/procfs/procfs_mem.c 22 Jan 2002 17:22:59 -0000 1.46.2.3
 +++ sys/miscfs/procfs/procfs_mem.c 6 Aug 2003 23:09:58 -0000
 @@ -188,9 +188,9 @@
    }
 
    /*
 -   * Wire the page into memory
 +   * Hold the page in memory
     */
 -  vm_page_wire(m);
 +  vm_page_hold(m);
 
    /*
     * We're done with tmap now.
 @@ -212,7 +212,7 @@
    /*
     * release the page and the object
     */
 -  vm_page_unwire(m, 1);
 +  vm_page_unhold(m);
    vm_object_deallocate(object);
 
    object = NULL;
 
 ---
 Wecos - Heiko Weber Computer Systeme
 Tel. +49 (4169) 91000 <> Fax +49 (4169) 919033
 
State-Changed-From-To: open->closed 
State-Changed-By: hmp 
State-Changed-When: Wed Sep 3 04:55:46 PDT 2003 
State-Changed-Why:  
The fix was committed by Tor, see: 

rev 1.60.2.17, kern/sys_pipe.c 

Thanks! 


http://www.freebsd.org/cgi/query-pr.cgi?pr=44950 
>Unformatted:
