On Fri, 01 Jun 2007 16:16:01 +0900, Tejun Heo said:
Don't those thingies usually have NV cache or backed by battery such
that ORDERED_DRAIN is enough?
Probably *most* do, but do you really want to bet the user's data on it?
The problem is that the interface between the host and a storage device
(ATA or SCSI) is not built to communicate that kind of information
(grouped flush, relaxed ordering...). I think battery backed
ORDERED_DRAIN combined with fine-grained host queue flush would be
pretty good. It doesn't require some fancy new interface which isn't
gonna be used widely anyway and can achieve most of performance gain if
the storage plays it smart.
Yes, that would probably be "pretty good". But how do you get the storage
device to *reliably* tell the truth about what it actually implements? (Consider
the number of devices that downright lie about their implementation of cache
flushing....)