Subject: Re: wd, disk write cache, sync cache, and softdep.
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 12/17/2004 18:03:47
--0rSojgWGcpz+ezC3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 17, 2004 at 09:09:23PM +0100, Manuel Bouyer wrote:
> On Fri, Dec 17, 2004 at 01:56:46PM -0600, Eric Haszlakiewicz wrote:
> >=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:
> >=20
> > 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
>=20
> If you issue A3 with an "ordered queue tag", then the FUA on A3 will forc=
e A1
> and A2 before A3. But you can still have A2, A1, A3.

I'm starting to feel like a broken record. "Ordered" queue tags won't=20
help, if we're trying to get around the write cache. All the ordered tag=20
does is mean we don't start writing A2 into the cache until we've said A1=
=20
is done, and likewise we don't start writing A3 into the cache until A2 is=
=20
done. With a write-back cache, we still have whatever ordering we want in=
=20
getting data out of the cache.

Take care,

Bill

--0rSojgWGcpz+ezC3
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFBw5ADWz+3JHUci9cRAs2OAJ9WEnA7QLk923LB5RohmkuT++UpuQCdEVCu
MU3zbGVVKLXa6Y+JgOY0Uv4=
=+7L1
-----END PGP SIGNATURE-----

--0rSojgWGcpz+ezC3--