On Thu, 2011-10-06 at 14:33 -0400, Christoph Hellwig wrote:
> Currently we have a few issues with the way the workqueue code is used to
> implement AIL pushing:
>
> - it accidentally uses the same workqueue as the syncer action, and thus
> can be prevented from running if there are enough sync actions active
> in the system.
> - it doesn't use the HIGHPRI flag to queue at the head of the queue of
> work items
>
> At this point I'm not confident enough in getting all the workqueue flags and
> tweaks right to provide a perfectly reliable execution context for AIL
> pushing, which is the most important piece in XFS to make forward progress
> when the log fills.
>
> Revert back to use a kthread per filesystem which fixes all the above issues
> at the cost of having a task struct and stack around for each mounted
> filesystem. In addition this also gives us much better ways to diagnose
> any issues involving hung AIL pushing and removes a small amount of code.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> Reported-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
> Tested-by: Stefan Priebe <s.priebe@xxxxxxxxxxxx>
Looks good. Dave, I don't want to commit this (series) until you
have had a chance to review it.
Reviewed-by: Alex Elder <aelder@xxxxxxx>
|