Messages in this thread | | | Subject | Re: [Xen-devel] Re: [PATCH] xen block backend driver. | From | Daniel Stodden <> | Date | Thu, 21 Apr 2011 12:14:37 -0700 |
| |
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)
Daniel
| |