Thread (13 messages) 13 messages, 6 authors, 2008-12-02

Re: [PATCH] imporve jbd2 fsync batching

From: Josef Bacik <hidden>
Date: 2008-11-26 13:22:59

On Wed, Nov 26, 2008 at 12:10:57AM -0500, Theodore Tso wrote:
On Tue, Nov 25, 2008 at 03:41:15PM -0700, Andreas Dilger wrote:
quoted
quoted
Stupid question... if the goal is to not have the average commit time
not react too strongly to sudden and vast changes to the commit time,
would it be better to do this instead:
quoted
+		journal->j_average_commit_time = (commit_time +
+				journal->j_average_commit_time*3) / 4;
Actually, yes.  That is my fault, I'd suggested the original change to
Josef.
BTW, I've added a patch to display the average commit time it does
vary wildly, especially on a laptop hard drive.  While the system is
idle, and the occasional commits need to wait for the hard drive to
wake up, leads to a average commit time of around 80-140ms.  If the
disk is just getting lightly tickled, such that it never has a chance
to go to sleep, the average commit time can drop down to around
20-25ms.  If the hard drive is really busy, then the average commit
time can go up to 40-50ms.

Increasing the weight as described below will slow down the move to
these long-term averages, but at least for laptop or Green Star drives
with power savings enabled, the average commit time does seem to vary
in some non-inintuitive ways.  Of course, if we are capping the max
transaction time at 15ms, most of this will never be visible, but it
would probably be interesting to test out this patch on a fast SSD or
an expensive enterprise array to see whether are similar surprising
variations in the average commit time.
I was printing out the commit time when I was testing this and with high end
storage the commit time didn't vary all that much.  With my SATA drive on a
normal running box it didn't vary all that much either, it would drop down to
like 1ms because of syslog, but other than that it would ramp up when there was
load and it would slowly come back down as the load went away.  Also do you
want a new patch with that fix, or will you just fix it up?  Thanks,

Josef 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help