aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-10-18 10:23:19 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-25 07:10:16 +0200
commitc7eead1e118fb7e34ee8f5063c3c090c054c3820 (patch)
tree67ea83476070ca516321645cc1b775b5ddd91c14 /drivers/firewire
parente7bde7c73957cfda82963127421069d13a44e921 (diff)
downloadkernel_samsung_smdk4412-c7eead1e118fb7e34ee8f5063c3c090c054c3820.zip
kernel_samsung_smdk4412-c7eead1e118fb7e34ee8f5063c3c090c054c3820.tar.gz
kernel_samsung_smdk4412-c7eead1e118fb7e34ee8f5063c3c090c054c3820.tar.bz2
xfs: revert to using a kthread for AIL pushing
commit 0030807c66f058230bcb20d2573bcaf28852e804 upstream 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@lst.de> Reported-by: Stefan Priebe <s.priebe@profihost.ag> Tested-by: Stefan Priebe <s.priebe@profihost.ag> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/firewire')
0 files changed, 0 insertions, 0 deletions