Hi, Following this message will be a variety of patches which constitute my current patch queue. They are aimed at solving a number of issues which have been reported recently relating to performance and memory usage.
A number of the patches are standalone, if you ignore the last patch in the series. The final patch is the one which is probably the most interesting. The idea in this one is to improve the performance of the journaling code by being more careful about when log flushes occur. It both reduces the maximum time between flushes on almost idle systems and increases the likelihood of flushes being large (and thus more efficient) when the system is busy. My postmark tests suggest that the patches in combination result in about a 20% improvement on a busy system. I'm intending to post a future patch to allow automatic adjustment of the two new log thresholds which are introduced in this patch series. The current limits of 2/5 and 4/5 of the journal size seem to work well in practise for the default 128M journal size. Note also that the final patch is still in draft form (hence the printk on each journal flush). I'll remove that before final submission, but its useful for anybody testing these to be able to see the state of the journal while running a test. Although the patch set as a whole improves the performance, thats not true of each patch on its own, in particular if you don't apply the final patch, but only the ones leading up to it, you'll see a regression at least on some workloads. As you can probably tell from the description above, this patch set is not yet in its final form, I'm just posting them now in the spirit of releasing early, Steve.