On Thu, Oct 06, 2011 at 02:33:00PM -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> I'd much prefer to fix the problems with the workqueue usage than revert back to using a thread, but seeing as I cannot reproduce the hangs I can't really track down whatever problem there is. So, a bit reluctantly: Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs