From owner-freebsd-hackers Tue Nov 10 19:04:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id TAA27709 for freebsd-hackers-outgoing; Tue, 10 Nov 1998 19:04:43 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from narnia.plutotech.com (narnia.plutotech.com [206.168.67.130]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id TAA27695 for ; Tue, 10 Nov 1998 19:04:41 -0800 (PST) (envelope-from gibbs@narnia.plutotech.com) Received: (from gibbs@localhost) by narnia.plutotech.com (8.9.1/8.7.3) id TAA28938; Tue, 10 Nov 1998 19:57:31 -0700 (MST) Date: Tue, 10 Nov 1998 19:57:31 -0700 (MST) From: "Justin T. Gibbs" Message-Id: <199811110257.TAA28938@narnia.plutotech.com> To: Matthew Dillon cc: hackers@FreeBSD.ORG Subject: Re: SCSI tagged queueing and softupdates X-Newsgroups: pluto.freebsd.hackers In-Reply-To: <98Nov11.084659est.40344@border.alcanet.com.au> <199811102247.OAA16696@apollo.backplane.com> User-Agent: tin/pre-1.4-980818 ("Laura") (UNIX) (FreeBSD/3.0-BETA (i386)) Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article <199811102247.OAA16696@apollo.backplane.com> you wrote: > :According to the description, tagged queueing allows a SCSI device to > :re-order pending I/O requests in order to improve throughput. Soft > :updates, on the other hand, rely on the correct sequencing of physical > :writes to ensure that the disk metadata is consistent. > : > :Is this a real issue? If so, it would seem that tagged queueing must > :be disabled (at least for writes) when softupdates are enabled. It's > :not obvious to me that this is currently done (or even easy to do). > : > :Comments please. > : > :Peter > > No, this is not an issue. Correct. > The SCSI command set allows you to flag > tags for ordered sequencing. Yes, but softupdates does not make use of this mechanism even though, via 'bowrite' it could. Instead softupdate sends batches of writes that do not have interdependencies and waits for them to complete before sending the transactions that depend on their completion. In many workloads, due to the async and distributed nature of the writes performed by the softupdates code, there is little need to use ordered writes. In the case of certain database applications that rely on fsync or when the dependency state grows large enough to hit its high resource watermark and state needs to be flushed quickly, I believe that ordered writes could significantly improve the performance of softupdates. I haven't had a chance to talk to Kirk about this yet. > Write ordering is a more > complex issue and I think (?) they are all simply flagged to be ordered. Writes are allowed to complete out of order unless the buffer client explicitly requests an ordered write. In previous BSD implementations the client had no control over ordering and could assume that the device driver might perform elevator or other sorting on any requests. -- Justin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message