From owner-freebsd-hackers Thu Sep 13 18:28:36 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from ewey.excite.com (ewey-rwcmta.excite.com [198.3.99.191]) by hub.freebsd.org (Postfix) with ESMTP id F3DB537B408; Thu, 13 Sep 2001 18:28:09 -0700 (PDT) Received: from doby.excite.com ([199.172.152.182]) by ewey.excite.com (InterMail vM.4.01.02.39 201-229-119-122) with ESMTP id <20010914012809.NTDX7149.ewey.excite.com@doby.excite.com>; Thu, 13 Sep 2001 18:28:09 -0700 Message-ID: <20775668.1000430889008.JavaMail.imail@doby.excite.com> Date: Thu, 13 Sep 2001 18:28:02 -0700 (PDT) From: john_wilson100@excite.com To: Greg Lehey Subject: Vinum Panic (was Re: HPT370 RAID or Vinum?) Cc: freebsd-hackers@freebsd.org, sos@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Excite Inbox X-Sender-Ip: 62.90.91.30 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Well, I have to say that Vinum feels a lot faster than HPT RAID... I will quantify this statement when someone tells me how to turn off ATA write caching, because sysctl -w hw.ata.wc=0 doesn't work, says "sysctl: oid 'hw.ata.wc' is read only" Unfortunately, Vinum reproducibly panics my machine while doing "newfs -v /dev/vinum/home", where /dev/vinum/home is a 70+ Gb striped volume: # newfs -v /dev/vinum/home ...superblocks here... 154206240, 154271776, 154337312, 154402848, 154468384, 154533920, Fatal trap 12: page fault while in kernel mode fault virtual address = 0x1c fault code = supervisor write, page not present instruction pointer = 0x8:0xc2bb8571 stack pointer = 0x10:0xdb1e2d1c frame pointer = 0x10:0xdb1e2d28 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 2195 (newfs) interrupt mask = none trap number = 12 panic: page fault syncing disks... 1 done Uptime: 1d0h23m8s dumping to dev #ad/0x20021, offset 3145760 dump ata2: resetting devices .. done 511 510 509 ... ... 8 7 6 5 4 3 2 1 0 --- #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:473 (kgdb) add-symbol-file /modules/vinum.ko 0xc2baebf0 (kgdb) where #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:473 #1 0xc013d1df in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:313 #2 0xc013d5ac in poweroff_wait (junk=0xc025898c, howto=-1071283025) at /usr/src/sys/kern/kern_shutdown.c:581 #3 0xc0228e4e in trap_fatal (frame=0xdb1e2cdc, eva=28) at /usr/src/sys/i386/i386/trap.c:956 #4 0xc0228b21 in trap_pfault (frame=0xdb1e2cdc, usermode=0, eva=28) at /usr/src/sys/i386/i386/trap.c:849 #5 0xc022870b in trap (frame={tf_fs = 16, tf_es = -618790896, tf_ds = -1027932144, tf_edi = 396, tf_esi = -1021550528, tf_ebp = -618779352, tf_isp = -618779384, tf_ebx = 0, tf_edx = 6662, tf_ecx = -1069469696, tf_eax = 0, tf_trapno = 12, tf_err = 2, tf_eip = -1027897999, tf_cs = 8, tf_eflags = 66118, tf_esp = 1116, tf_ss = -1026983728}) at /usr/src/sys/i386/i386/trap.c:448 #6 0xc2bb8571 in allocrqg (rq=0xc31c6040, elements=1) at /usr/src/sys/modules/vinum/../../dev/vinum/vinumrequest.c:1054 #7 0xc2bb7b1e in bre (rq=0xc31c6040, plexno=1, diskaddr=0xdb1e2d90, diskend=154600128) at /usr/src/sys/modules/vinum/../../dev/vinum/vinumrequest.c:571 #8 0xc2bb7f1f in build_write_request (rq=0xc31c6040) at /usr/src/sys/modules/vinum/../../dev/vinum/vinumrequest.c:774 #9 0xc2bb74fe in vinumstart (bp=0xcd1b3a0c, reviveok=0) at /usr/src/sys/modules/vinum/../../dev/vinum/vinumrequest.c:272 #10 0xc2bb73d2 in vinumstrategy (bp=0xcd1b3a0c) at /usr/src/sys/modules/vinum/../../dev/vinum/vinumrequest.c:164 #11 0xc0139bdf in physio (dev=0xc307ed00, uio=0xdb1e2ed8, ioflag=1048577) at /usr/src/sys/kern/kern_physio.c:111 #12 0xc0175041 in spec_write (ap=0xdb1e2e68) at /usr/src/sys/miscfs/specfs/spec_vnops.c:283 #13 0xc01e6f94 in ufsspec_write (ap=0xdb1e2e68) at /usr/src/sys/ufs/ufs/ufs_vnops.c:1872 #14 0xc01e7551 in ufs_vnoperatespec (ap0xdb1e2e68) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2400 #15 0xc0171352 in vn_write (fp=0xc35bda00, uio=0xdb1e2ed8, cred=0xc307ee80, flags=0, p=0xd6a508a0) at vnode_if.h:363 #16 0xc014baed in dofilewrite (p=0xd6a508a0, fp=0x0xc35bda00, fd=3, buf=0x806c860, nbyte=131072, offset=-1, flags=0) at /usr/src/sys/sys/file.h:162 #17 0xc014b9a6 in write (p=0xd6a508a0, uap=0xdb1e2f80) at /usr/src/sys/kern/sys_generic.c:329 #18 0xc02290f9 in syscall2 (frame={tf_fs = 47, tf_es = 65583, tf_ds = -1078001617, tf_edi = 8192, tf_esi = 122880, tf_ebp = -1077940256, tf_isp = -618778668, tf_ebx = 18, tf_edx = 18, tf_ecx = 0, tf_eax = 4, tf_trapno = 0, tf_err = 2, tf_eip = 134620572, tf_cs = 31, tf_eflags = 663, tf_esp = -1077940284, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1155 #19 0xc021b1c5 in Xint0x80_syscall () #20 0x804c8ed in ?? () #21 0x804b785 in ?? () #22 0x804b1b5 in ?? () #23 0x80491ab in ?? () #24 0x8048135 in ?? () Here's my Vinum config: $ more /root/vinum.conf drive data1 device /dev/ad4s1g drive data2 device /dev/ad6s1e drive home1 device /dev/ad4s1h drive home2 device /dev/ad6s1f volume data plex org striped 279k sd length 0 drive data1 sd length 0 drive data2 volume home plex org striped 279k sd length 0 drive home1 sd length 0 drive home2 The disk labels: disklabel ad4s1 # /dev/ad4s1c: type: ESDI disk: ad4s1 label: flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 7475 sectors/unit: 120101877 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 524288 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 32*) b: 4194304 524288 swap # (Cyl. 32*- 293*) c: 120101877 0 unused 0 0 # (Cyl. 0 - 7475*) e: 4194304 4718592 4.2BSD 1024 8192 16 # (Cyl. 293*- 554*) f: 10485760 8912896 4.2BSD 1024 8192 16 # (Cyl. 554*- 1207*) g: 20971520 19398656 vinum # (Cyl. 1207*- 2512*) h: 79731701 40370176 vinum # (Cyl. 2512*- 7475*) disklabel ad6s1 # /dev/ad6s1c: type: ESDI disk: ad6s1 label: flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 7475 sectors/unit: 120101877 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] b: 4194304 0 swap # (Cyl. 0 - 261*) c: 120101877 0 unused 0 0 # (Cyl. 0 - 7475*) e: 20971520 4194304 vinum # (Cyl. 261*- 1566*) f: 77278156 25165824 vinum # (Cyl. 1566*- 6376*) g: 17657897 102443980 4.2BSD 1024 8192 16 # (Cyl. 6376*- 7475*) BTW, this is on latest -stable (supped two days ago). Let me know if you need more info. John On Tue, 11 Sep 2001 09:05:18 +1000, Greg Lehey wrote: > On Monday, 10 September 2001 at 10:11:28 -0700, john_wilson100@excite.com wrote: > > Hi there, > > > > I am trying to install FreeBSD on a (pseudo-) hardware ATA RAID volume which > > consists of two striped ATA disks connected to a Highpoint HPT370 > > controller. "Pseudo-" because FreeBSD detects the individual disks > > (ad4/ad6) as well as the striped volume (ar0). > > > > Besides the fact that ar0 isn't documented anywhere (except in /dev/MAKEDEV) > > and "man 4 ar" gives something completely irrelevant, which one is better to > > use: > > > > Highpoint built-in RAID (ar0), or ad4/ad6 striped with Vinum? > > > > I reckon if the RAID functions are implemented in HPT BIOS (in software), > > I'll be better off with Vinum. > > Ultimately, all RAID is software RAID. The issue is just how it's > implemented. > > I'd guess that the HPT will give you far worse performance than Vinum, > though I'd be very interested to see confirmation or denial of this > guess. If you feel like benchmarking, contact me first. > > Greg > -- > Finger grog@lemis.com for PGP public key > See complete headers for address and phone numbers _______________________________________________________ Send a cool gift with your E-Card http://www.bluemountain.com/giftcenter/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message