Brian Foster b29c70f598 xfs: split metadata and log buffer completion to separate workqueues
XFS traditionally sends all buffer I/O completion work to a single
workqueue. This includes metadata buffer completion and log buffer
completion. The log buffer completion requires a high priority queue to
prevent stalls due to log forces getting stuck behind other queued work.

Rather than continue to prioritize all buffer I/O completion due to the
needs of log completion, split log buffer completion off to
m_log_workqueue and move the high priority flag from m_buf_workqueue to
m_log_workqueue.

Add a b_ioend_wq wq pointer to xfs_buf to allow completion workqueue
customization on a per-buffer basis. Initialize b_ioend_wq to
m_buf_workqueue by default in the generic buffer I/O submission path.
Finally, override the default wq with the high priority m_log_workqueue
in the log buffer I/O submission path.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2014-12-04 09:43:17 +11:00
..
2014-12-04 09:43:17 +11:00
2014-07-30 09:12:05 +10:00
2014-10-02 09:18:13 +10:00
2013-11-06 16:31:27 -06:00
2014-07-15 08:07:01 +10:00
2014-06-25 14:58:08 +10:00
2014-06-25 14:58:08 +10:00
2014-06-25 14:58:08 +10:00
2014-12-04 09:42:40 +11:00
2014-12-04 09:43:17 +11:00
2013-08-12 16:56:06 -05:00
2014-12-04 09:43:17 +11:00
2014-12-04 09:43:17 +11:00
2014-10-02 09:18:13 +10:00
2014-06-25 14:58:08 +10:00
2014-12-01 08:24:20 +11:00
2014-07-24 20:49:57 +10:00
2014-07-30 09:12:05 +10:00
2014-09-09 11:52:42 +10:00
2014-10-02 09:18:13 +10:00
2014-06-25 14:58:08 +10:00
2014-07-30 09:12:05 +10:00
2014-06-25 14:58:08 +10:00