Re: [PATCH Linux 2.6.12-rc5-mm1 00/06] blk: barrier flushing reimplementation

Jens Axboe
2005-05-30T11:31:26Z

On Sun, May 29 2005, Jens Axboe wrote:
> On Sun, May 29 2005, Tejun Heo wrote:
> > Hello, guys.
> >
> > This patchset is reimplementation of QUEUE_ORDERED_FLUSH feature. It
> > doens't update API docs yet. If it's determined that this patchset
> > can go in, I'll regenerate this patchset with doc updates (sans the
> > last debug message patch of course).
>
> Awesome work, that's really the last step in getting the barrier code
> fully unified and working with tags. I'll review your patchset tomorrow.

Patches look nice, this is a good step forward. If you feel like doing a
little more work in this area, I would very much like to add
QUEUE_ORDERED_FUA as a third method for implementing barriers. Basically
it would use the FUA commands to put data safely on disk, instead of
using the post flushes.

For NCQ, we have a FUA bit in the FPDMA commands. For non-ncq, we have
the various WRITE_DMA_EXT_FUA (and similar). It would be identical to
ORDERED_FLUSH in that we let the queue drain, issue a pre-flush, and
then a write with FUA set. It would eliminate the need to issue an extra
flush at the end, cutting down the required commands for writing a
barrier from 3 to 2.

--
Jens Axboe