The three patces convert code to use workqueues for different
The first patch splits the allocation path into a new stack as
writeback from the bdi-flusher threads is in danger of overrunning
the stack in worst case XFS stack usage on complex storage
subsystems. I've been running this patch locally for the past couple
of months and I haven't encountered any issues, performance or
otherwise with it.
The second patch converts the xfsbufd to a workqueue, continuing the
process of replacing per-fs threads with workqueues (as per xfsaild
and xfssyncd). This removes the last per-fs thread and cleans up the
code around it.
The last patch convert the CIL flush to use a workqueue to move all
the processing out of the direct transaction commit processing. This
prevents random operation from a user application taking the hit
(CPU and latency) for committing the last 10,000 modifications to