Subject: Re: wd, disk write cache, sync cache, and softdep.
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Eric Haszlakiewicz <erh@nimenees.com>
List: tech-kern
Date: 12/17/2004 14:45:04
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:
> > 
> > 	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:
> > 
> > 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
> 
> If you issue A3 with an "ordered queue tag", then the FUA on A3 will force A1
> and A2 before A3. But you can still have A2, A1, A3.

	So wouldn't that also cause anything else in the drive's cache to
be written out?  (e.g. a B1 sent between A1 and A2) That sounds a lot like a
cache flush.
	To only flush A1 and A2 you'd need to tie them to A3 somehow, but to
do that you need to change the upper layers to know to do that, right?

eric