On Thu, 2011-04-21 at 15:06 -0400, Christoph Hellwig wrote:
> On Thu, Apr 21, 2011 at 12:03:12PM -0700, Daniel Stodden wrote:
> > Yes, everybody is aware that the semantics were broken. But note it's
> > not even a consistency issue at this point, because there's currently no
> > frontend which relies on the original ordering semantics either. Take
> > xen-blkfront, since blk_flush it uses the barrier op for a flush, being
> > just a superset when ordering is enforced.
> There is a huge userbase of guests out there that does rely on it.
Which ones? Old blkfront would have make a difference back then when
barriers used to be an option, but it never actually declared it, right?
> > But before we just enumerate a new command, a potentially more viable
> > option would be FLUSH+FUA flags on the WRITE operation. As if mapping
> > bio bits.
> > The advantage is that it avoids the extra round trip implied by having
> > the frontend driving writes through FSEQ_PREFLUSH on their own. I'd
> > expect that to make much more of a performance difference. Somewhat
> > differentiating PV from the low physical layer.
> > Would you, maybe did you, consider that? I think it sounds interesting
> > enough to gather performance data, just asking beforehand.
> You will need a pure flush anyway. Once you actually have a correct
> implementation you can look into optimizing it. Note that at least
> the Solaris Xen coded added a cache flush to the protocol.
Weeeeeelll, I certainly hope it can deal with backends which never got
to see those headers. :o)
Xen-devel mailing list