From owner-freebsd-hackers@FreeBSD.ORG Wed Apr 5 18:09:59 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0119C16A400 for ; Wed, 5 Apr 2006 18:09:59 +0000 (UTC) (envelope-from tdamas@gmail.com) Received: from nproxy.gmail.com (nproxy.gmail.com [64.233.182.187]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B43D43D45 for ; Wed, 5 Apr 2006 18:09:57 +0000 (GMT) (envelope-from tdamas@gmail.com) Received: by nproxy.gmail.com with SMTP id m18so19935nfc for ; Wed, 05 Apr 2006 11:09:56 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=h3Gr/Eo7WXyHeof6Zm7E6tqa0qbyVFlQgMsOeeBMXSJGoU29RmAUfBa1GE65TNY069sTuI/lJmsJYKqe2BHjQYi4ZgavMQoazwU0JA97ZcYojs64QgzDF3wrxqLZdQWj+qPaMqbde7DV3XndsRRBWc6/mid+u6XqMmFlMqFUd4Y= Received: by 10.48.108.8 with SMTP id g8mr190889nfc; Wed, 05 Apr 2006 11:09:56 -0700 (PDT) Received: by 10.48.210.6 with HTTP; Wed, 5 Apr 2006 11:09:56 -0700 (PDT) Message-ID: Date: Wed, 5 Apr 2006 15:09:56 -0300 From: "Thiago Damas" To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: odd behavior with geom - gmirror - read/write simultaneously X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2006 18:09:59 -0000 Hi, I'm having a odd behavior while using geom_mirror. I have the following situation: - RAID1 with 2 SATA disks # gmirror status Name Status Components mirror/home0 COMPLETE ad2 ad3 - home0 as /home # df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1.9G 74M 1.7G 4% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1d 989M 16K 910M 0% /tmp /dev/ad0s1e 7.7G 1.9G 5.2G 27% /usr /dev/ad0s1f 58G 139M 53G 0% /var /dev/mirror/home0s1c 226G 7.4G 200G 4% /home I was testing the read/write speed on /home, with: # dd if=3D/dev/ad0 of=3D/home/test.data bs=3D4m While running this, gstat shows me what I wanted: # gstat L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name 0 230 230 29383 1.9 0 0 0.0 42.8| ad0 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1 9 192 0 0 0.0 192 24529 21.0 65.3| ad2 7 196 0 0 0.0 196 25040 16.6 65.4| ad3 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1a 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1b 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1c 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1d 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1e 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1f 0 0 0 0 0.0 0 0 0.0 0.0| ad2s1 9 192 0 0 0.0 192 24529 21.2 65.4| mirror/home0 0 0 0 0 0.0 0 0 0.0 0.0| ad3s1 9 192 0 0 0.0 192 24529 21.2 65.4| mirror/home0= s1 9 192 0 0 0.0 192 24529 22.0 66.6| mirror/home0= s1c After that, I test the read speed: # dd if=3D/home/test.data bs=3D4m of=3D/dev/null # gstat dT: 0.501 flag_I 500000us sizeof 240 i -1 L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name 0 0 0 0 0.0 0 0 0.0 0.0| ad0 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1 1 120 120 15329 3.7 0 0 0.0 44.9| ad2 0 122 122 15584 3.5 0 0 0.0 43.1| ad3 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1a 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1b 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1c 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1d 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1e 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1f 0 0 0 0 0.0 0 0 0.0 0.0| ad2s1 1 242 242 30913 3.7 0 0 0.0 88.4| mirror/home0 0 0 0 0 0.0 0 0 0.0 0.0| ad3s1 1 242 242 30913 3.7 0 0 0.0 88.7| mirror/home0= s1 1 242 242 30913 3.7 0 0 0.0 90.0| mirror/home0= s1c And it shows again what was supposed to. Now, I test read/write simultaneously: In on shell (1): # dd if=3D/dev/ad0 of=3D/home/test.data bs=3D4m After some time, in another shell(2) # dd if=3D/home/test.data bs=3D4m of=3D/dev/null And gstat shows me the following: # gstat dT: 0.501 flag_I 500000us sizeof 240 i -1 L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name 0 0 0 0 0.0 0 0 0.0 0.0| ad0 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1 0 158 158 20183 3.0 0 0 0.0 47.6| ad2 1 158 158 20183 2.5 0 0 0.0 39.1| ad3 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1a 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1b 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1c 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1d 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1e 0 0 0 0 0.0 0 0 0.0 0.0| ad0s1f 0 0 0 0 0.0 0 0 0.0 0.0| ad2s1 1 315 315 40367 2.8 0 0 0.0 87.4| mirror/home0 0 0 0 0 0.0 0 0 0.0 0.0| ad3s1 1 315 315 40367 2.8 0 0 0.0 87.8| mirror/home0= s1 1 315 315 40367 2.8 0 0 0.0 89.4| mirror/home0= s1c I'm having NO writes in home0; even hitting ^C in shell(1) hangs, until I cancel the dd command in shell(2). I think its happening some problem with geom code . Can someone verify this? I using 6.1 PRERELEASE, with GENERIC kernel. --- Thiago