tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Exposing FUA as alternative to DIOCCACHESYNC for WAPBL

Oh well.

TLS> If the answer is that you're running with WCE on in the mode pages, then
TLS> don't do that:
EF> I don't get that. If you turn off the write cache, you need neither cache 
EF> flushes nor ordering, no?
MB> You still need ordering. With tagged queuing, you have multiple commands
MB> running at the same time (up to 256, maybe more fore newer scsi) and the 
MB> drive is free to complete them in any order.  Unless one of them is an 
MB> ORDERED command, in which case comamnds queued before have to complete 
MB> before.

I guess we are talking past each other. I should have phrased that ``If you
don't use any tagging and turn off the write cache, ...''.

The course of arguments was:
1. Jaromir wrote about FUA and integrating AHCI NCQ support
2. Edgar remembered each journal commit to cause two cache flushes and asked 
   whether using SCSI TCQ could save the cache flushes
3. Jaromir responded that even ordered tags couldn't avoid the cache flushes
4. Edgar wrote that the point of the flushes seems to guarantee an order and
   asked why then ordered tags couldn't make them unneccessary
5. TLS seconded Edgar, asked why tags weren't good enough, and stated ``If 
   the answer is that you're running with WCE on in the mode pages, then 
   don't do that''
6. Edgar (as I now guess) mis-interpreted that as ``current behaviour (no
   tags) and write cacheing'', while TLS (I guess) meant ``potential future 
   behaviour (using tags) and write cacheing'' and also phrased his own 
   reply (ommitting he referred to the current situation without any queueing)
   in a way that provoked further mis-understanding
7. Manuel mis-understood Edgar and explained problems arising from using no
   write cacheing and unordered tagging.

So while I'm still not sure what the SCSI behaviour is with both write cacheing
and tagged queuing (I would guess turning write cacheing on/off doesn't make
much of a difference when you queue everything, but I may well be missing 
something fundamental), I still have the impression that using (ordererd)
queueing and no cache flushes would be the perfect solution for journalling.

Home | Main Index | Thread Index | Old Index