From owner-freebsd-scsi Thu Apr 15 14:34:39 1999 Delivered-To: freebsd-scsi@freebsd.org Received: from panzer.plutotech.com (panzer.plutotech.com [206.168.67.125]) by hub.freebsd.org (Postfix) with ESMTP id D16D114F13 for ; Thu, 15 Apr 1999 14:34:35 -0700 (PDT) (envelope-from ken@panzer.plutotech.com) Received: (from ken@localhost) by panzer.plutotech.com (8.9.3/8.8.5) id PAA04943; Thu, 15 Apr 1999 15:32:09 -0600 (MDT) From: "Kenneth D. Merry" Message-Id: <199904152132.PAA04943@panzer.plutotech.com> Subject: Re: I/O distributed across multiple SCSi busses, same hba... In-Reply-To: from Matthew Jacob at "Apr 15, 1999 2:12:20 pm" To: mjacob@feral.com Date: Thu, 15 Apr 1999 15:32:09 -0600 (MDT) Cc: freebsd-scsi@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Matthew Jacob wrote... > > Here's a case of a two-channel Qlogic 1240 (two independent Ultra channels > on the same controller card)- I'm doing lmdd's reading from a drive on > either bus simultaneously. There's a very wierd distrbution of I/O from > bus to bus. Anyone have a quick notion as to why? It's not a controller > hw queue resource issue as this is raw access... it might be f/w but I'd > kinda doubt it. Is it a VM thingie perhaps? I wouldna think so.... There's definitely something wrong here. > tty da0 da1 cpu > tin tout KB/t tps MB/s KB/t tps MB/s us ni sy in id > 1 26 0.00 0 0.00 0.00 0 0.00 4 0 13 6 77 > 0 12 8.00 3 9.87 8.00 1262 9.86 2 0 68 20 11 > 0 12 8.00 5 9.80 8.00 1249 9.76 1 0 71 17 12 > 0 12 8.00 1255 9.80 8.00 1243 9.71 2 0 67 19 13 > 0 12 8.00 6 9.89 8.00 1265 9.88 2 0 70 18 10 > 0 12 8.00 1267 9.90 8.00 1258 9.83 3 0 68 18 11 > 0 12 8.00 263 9.87 8.00 1253 9.79 2 0 70 19 10 > 0 12 8.00 1265 9.88 8.00 1230 9.61 3 0 68 16 13 > 0 12 8.00 64 9.87 8.00 1240 9.69 3 0 65 18 14 > 0 12 8.00 1259 9.83 8.00 1236 9.66 2 0 66 22 10 > 0 12 8.00 263 9.87 8.00 1240 9.68 3 0 68 17 11 > 0 12 8.00 3 9.87 8.00 1239 9.68 2 0 68 19 11 > 0 12 8.00 1261 9.85 8.00 1239 9.68 2 0 66 21 11 > 0 12 8.00 1262 9.86 8.00 1239 9.68 2 0 71 17 11 > 0 12 8.00 7 9.90 8.00 1226 9.58 2 0 67 17 13 > 0 12 8.00 1261 9.86 8.00 1239 9.68 2 0 71 16 12 > 0 12 8.00 1259 9.83 8.00 1239 9.68 3 0 69 16 12 > 0 12 8.00 1251 9.77 8.00 1239 9.68 4 0 66 18 13 > 0 12 8.00 252 9.78 8.00 1239 9.68 2 0 67 19 13 > 0 12 8.00 1252 9.78 8.00 1219 9.52 3 0 65 19 13 > tty da0 da1 cpu > tin tout KB/t tps MB/s KB/t tps MB/s us ni sy in id > 0 36 8.00 1252 9.78 8.00 1214 9.48 3 0 65 17 14 This looks like some sort of printf-type bug. I think, in some of the cases, you're only getting a few of the digits. Notice that the megabytes per second is consistent all the way down. The transaction size is as well. But the transactions per second field varies widely. I think it may be that some of the digits aren't getting shown. Like it'll only show the last 1, 2, or 3 digits sometimes. Obviously, (MB/sec * 1024) / KB/t == (or should equal) transfers per second. Here's the relevant code from iostat(8). It's worked fine up until now. I take it this is a -current box with egcs? Alpha or i386? else { total_mb = total_bytes; total_mb /= 1024 * 1024; printf(" %5.2Lf %3.1qu %5.2Lf ", kb_per_transfer, total_transfers, total_mb); } Ken -- Kenneth Merry ken@plutotech.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message