Chris Snook wrote:
At the grub screen, hit 'a' to append kernel arguments, and add
elevator=deadline to the list of parameters. If you like the results,
you can add it permanently by editing /boot/grub/grub.conf.
It's also possible that your sluggish rawhide performance is due to
all the extra debug options that are turned on in the rawhide kernel.
I've seen overhead as high as 30% on some workloads. There's been
some discussion of adding a 'nodebug' kernel variant to rawhide that's
compiled with roughly the same options as the stable Fedora kernel,
but I don't know when or if that's going to happen.
I figured it all out. The main issue was my use of a Firefox 3.0
nightly. From Firefox 3.0b3 on Firefox is very fsync happy. As in ever
time you load a page it fsync about eight times. Do things in the middle
of a big write and performance goes all to hell. I have filed a bug
upstream, https://bugzilla.mozilla.org/show_bug.cgi?id=421482 .
I ran across this idea by reading, http://kerneltrap.org/node/14148 .
The first e-mail from Ingo as a reply to another one of his earlier
e-mails mentions a case a lot like mine. Quad-Core, 4gb ram, and 30
second pauses in vim. He mentions vim uses fsync. He mentions an option,
but it isn't good enough. You have to also change set swapsync, like below.
I then straced vim and found any hiccups in the output were directly
related to when vim ran fsync. I set the options, and the problem seemed
to go away.
Finally I turned to Firefox 3.0 nightly, and straced it. I found the
problem. I then went back to Firefox 2.0.0.12, and straced it. I found
it didn't have the same problem. So as nice as Firefox 3.0b3 or later
is, it is a recipe for unhappiness.
set swapsync=sync
set nofsync
But this is just a symptom of a bigger problem. As the Kernel Trap url
above mentions, ext3 + fsync = crappiness. So my next step will be to
talk to the right developers, learn as much as possible, and see if a
solution can be found. Otherwise I may completely give up on ext3 and
move to another filesystem.