[PATCH] xfs: Do background CIL flushes via a workqueue

Vivek Goyal vgoyal at redhat.com
Tue Mar 27 12:23:57 CDT 2012


On Tue, Mar 27, 2012 at 01:03:09PM -0400, Christoph Hellwig wrote:
> On Tue, Mar 27, 2012 at 12:19:41PM -0400, Vivek Goyal wrote:
> > So xfs either need to resort to similar optimizaiton where IO type from
> > both the process context is of same type or try to do all the IO from
> > one process context. 
> 
> All XFS log I/O is marked SYNC and (FUA and/or FLUSH).

Well, if all the requests are marked with FUA/FLUSH, then I think these
requests will not even be given to IO scheduler. And we should not have
the issue of idling.

        if (bio->bi_rw & (REQ_FLUSH | REQ_FUA)) {
                spin_lock_irq(q->queue_lock);
                where = ELEVATOR_INSERT_FLUSH;
                goto get_rq;
        }

Thanks
Vivek



More information about the xfs mailing list