Subject: Re: wd, disk write cache, sync cache, and softdep.
To: Eric Haszlakiewicz <erh@jodi.nimenees.com>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 12/17/2004 17:36:13
--Qz2CZ664xQdCRdPu
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Fri, Dec 17, 2004 at 01:56:46PM -0600, Eric Haszlakiewicz wrote:
> On Fri, Dec 17, 2004 at 10:48:09AM -0800, Bill Studenmund wrote:
> > On Fri, Dec 17, 2004 at 01:03:41AM -0600, Eric Haszlakiewicz wrote:
> > > huh? I'm not understanding what FUA means then. I had assumed that
> > > setting FUA on a write means "this write must actually be written bef=
ore
> > > this command returns". I don't see how that enforces an ordering on =
A1 and
> > > A2 if A3 has that set. =20
> >=20
> > The code that issues A1 does not issue A2 until A1 is done. i.e. there =
is=20
> > some thread waiting for the completion.
>=20
> How can it know A1 is done if there's no way to tell the drive to
> flush its cache? A possible timeline I see is:
You assert FUA for write A1.
> send A1, drive says OK,
> send A2, drive says OK,
> send A3+FUA, drive writes A3 (due to FUA), drive says OK,
> drive writes A2, drive writes A1.
You assert FUA for EACH write.
Take care,
Bill
--Qz2CZ664xQdCRdPu
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
iD8DBQFBw4mNWz+3JHUci9cRAtgoAKCUSNshtzcXBg5l48gk8aOuoDSE6gCfVPZB
BMQMvYuYfu9uv/oogIFPH84=
=Y0i7
-----END PGP SIGNATURE-----
--Qz2CZ664xQdCRdPu--