Re: [PATCH] blktrace: add FLUSH/FUA support

Jeff Moyer
2011-07-28T20:21:23Z

Hi,

Sorry, I don't have the original posting of this message, so I've just
cut-n-paste from the archives on lkml.org:
https://lkml.org/lkml/2011/6/1/235

The proposal was this:

> Add FLUSH/FUA support to blktrace. As FLUSH precedes WRITE and/or
> FUA follows WRITE, use the same 'F' flag for both cases and
> distinguish them by their (relative) position. The end results
> look like (other flags might be shown also):
>
> - WRITE: W
> - WRITE_FLUSH: FW
> - WRITE_FUA: WF
> - WRITE_FLUSH_FUA: FWF

I'm not sure I'll ever be able to keep that straight. How about we use
'F' for FUA, since FUA is capitalized anyway, and use 'f' for flush?
Too subtle?

Next...

> @@ -14,7 +14,7 @@
> enum blktrace_cat {
> BLK_TC_READ = 1 << 0, /* reads */
> BLK_TC_WRITE = 1 << 1, /* writes */
> - BLK_TC_BARRIER = 1 << 2, /* barrier */
> + BLK_TC_FUA = 1 << 2, /* fua requests */

I would prefer to replace BARRIER with FLUSH, as I think they are closer
relatives. Doing it the way you've suggested would mean that older
blktrace user-space would report FUA as a Barrier.

Comments? No matter what's agreed upon, we should get this in sooner
rather than later, as it's a big missing piece in trying to diagnose
performance issues!

Cheers,
Jeff