Hello,
I enjoy reading "A conversation with Jeff Bonwick and Bill Moore" in ACM
Queue. PJD paper "Porting the ZFS file system to the FreeBSD operation
system" was really interesting... As a result, I switch all my
filesystems to zfs -- Yes I know: WARNING: ZFS is considered to be an
experimental feature in FreeBSD -- and it's quite stable for me.
Nevertheless I encouter a glitch *after* shutdown:
Kernel: 7.0-BETA1 - cvsup Oct 23 with patch
http://people.freebsd.org/~pjd/patches/vm_kern.c.2.patch.
Note: without this patch I get a kmem_map too small after some io load.
I setup my root fs under zfs. the boot fs is under gmirror+ufs.
loader.conf:
#--- Tuning for ZFS - http://wiki.freebsd.org/ZFSTuningGuide
vm.kmem_size="600M" # Size of kernel memory
vm.kmem_size_max="600M" # Max kmem size
vfs.zfs.debug="0" # ZFS - debug messages
vfs.zfs.prefetch_disable="1" # ZFS - disable prefetch
vfs.zfs.arc_max="128M" # ZFS - maximum ARC size : 128MB
#--- Mount root filesystem from ZFS
zfs_load="YES" # Load ZFS module
vfs.root.mountfrom="zfs:pool0" # Root filesystem is pool0
zpool status:
pool: pool0
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool0 ONLINE 0 0 0
mirror ONLINE 0 0 0
da0s2 ONLINE 0 0 0
da1s2 ONLINE 0 0 0
errors: No known data errors
pool: pool1
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool1 ONLINE 0 0 0
da0s3 ONLINE 0 0 0
da1s3 ONLINE 0 0 0
errors: No known data errors
pool: pool2
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool2 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad4s3 ONLINE 0 0 0
ad6s3 ONLINE 0 0 0
errors: No known data errors
After shutdown I get a kernel trap:
[EMAIL PROTECTED] MORZINE]# kgdb kernel.debug /var/crash/vmcore.20
[GDB will not be able to debug user-mode threads:
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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-marcel-freebsd".
Unread portion of the kernel message buffer:
<118>Oct 28 09:58:48 morzine syslogd: exiting on signal 15
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...0 0 0 0 0 done
All buffers synced.
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x188
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0593425
stack pointer = 0x28:0xf668fa68
frame pointer = 0x28:0xf668fa80
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 1 (init)
trap number = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper(c080a4a9,f668f944,c059f96f,c0825e2c,0,...) at
db_trace_self_wrapper+0x26
kdb_backtrace(c0825e2c,0,c07eebd8,f668f950,0,...) at kdb_backtrace+0x29
panic(c07eebd8,c08270e8,c5527f68,1,1,...) at panic+0x10f
trap_fatal(c0826fea,c,c588f000,f668f9c0,c5527d48,...) at trap_fatal+0x333
trap(f668fa28) at trap+0x11f
calltrap() at calltrap+0x6
--- trap 0xc, eip = 0xc0593425, esp = 0xf668fa68, ebp = 0xf668fa80 ---
_mtx_lock_sleep(c69d1a18,c5528440,0,0,0,...) at _mtx_lock_sleep+0x85
vrele(c69d1990,c5b80d0c,c5528440,c080eb5b,91f,...) at vrele+0x5b
vflush(c5b80d0c,1,2,c5528440,c5b5a844,...) at vflush+0x69b
zfs_umount(c5b80d0c,80000,c5528440,c5528440,c080e762,...) at zfs_umount+0xd5
dounmount(c5b80d0c,80000,c5528440,ead65aec,0,...) at dounmount+0x4ef
vfs_unmountall(c08083ac,0,c0808410,10e,f668fc50,...) at vfs_unmountall+0x33
boot(c5528440,8,0,fffffffe,c5528440,...) at boot+0x444
reboot(c5528440,f668fcfc,4,8048260,9e7c9054,...) at reboot+0x67
syscall(f668fd38) at syscall+0x335
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (55, FreeBSD ELF32, reboot), eip = 0x8050be3, esp =
0xbfbfe90c, ebp = 0xbfbfe9d8 ---
Uptime: 3d16h44m52s
Physical memory: 2030 MB
Dumping 468 MB: 453 437 421 405 389 373 357 341 325 309 293 277 261 245
229 213 197 181 165 149 133 117 101 85 69 53 37 21 5
#0 doadump () at pcpu.h:195
195 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb)
Anyway, thanks for this great port
Henri
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"