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.


Reply via email to