From: PFC <lists@boutiquenumerique.com>
To: michael chang <thenewme91@gmail.com>,
Craig Shelley <craig@microtron.org.uk>
Cc: reiserfs-list@namesys.com
Subject: Re: More Slowdown
Date: Thu, 17 Nov 2005 10:36:46 +0100 [thread overview]
Message-ID: <op.s0dozkscth1vuj@localhost> (raw)
In-Reply-To: <b14e81f00511161908k30ed471esbc12b284842b8078@mail.gmail.com>
Just a few words about this "slowdown" thing.
I use linux-2.6.11-cko1-swsusp2 with reiser4 included. I won't upgrade to
a new version until Hans says the current one is at least as stable as it
was before starting the merge...
I get the "slowdown" once in a while, usually for 2-5 seconds, it's not
that annoying.
However :
If I understand well, when memory is needed (memory pressure), reiser4
triggers a flush and writes dirty pages to the disk in large quantities.
This has many advantages like not writing at all the temporary files
which already have been deleted, deferred allocation, etc, it's really
cool.
However when "memory pressure" (ie. need to free some RAM) occurs, it is
usually that I am doing something interactively, like opening a document
or starting some software. Or it might mean that the database server just
received a big query which needs some sorting space in RAM for instance.
Thus, "memory pressure" almost always means "I need memory NOW and
someone is waiting in front of their screen for it"...
And it is at this very moment that reiser4 has to flush (to free memory).
Thus the "flush storm", by nature, always happens when you don't want it
to happen. It almost never happens when you are away from the computer
taking a leak, for instance.
This is analogous to the problem caused to postgres by checkpointing...
the postgres guys implemented a background writer to solve this.
I wonder if reiser4 could do the same, ie. trickle down dirty pages to
free up memory before it is actually needed, to improve reactivity. There
is a balance to be found, of course, between flushing as late as possible
(to benefit from all the nifty reiser4 features) and flushing earlier (to
avoid triggering the "flush storm").
Maybe this could be set via a few controls...
- tell reiser4 to try to keep X amount of RAM immediately available
without flush
- when the CPU is idle, and/or when the disk is idle, start flushing,
but stop doing it as soon as some CPU is needed, or a key is hit...
- just do frequent, small partial flushes which will keep good locality
of reference while being small
- do it at a lower priority so that the keyboard does not stop
responding !!!
Huh, well, that's it... what do you think ?
> When fsyncing, Reiser4, to my understanding, isn't allowed to put
> stuff in it's memory cache - it must put it to disk right away. And
This is the whole point of fsync, yes.
Now, it's pretty stupid for evlolution to issue a fsync() on every pixel
move or whatever.
fsync() is for databases or things which must survive a hard system
crash...
evolution could as well have used fflush() and everything would have been
alright. Dumb.
> For comparative purposes, I hear of consumer systems with 2 or 4 GB of
> ram, and I know of brand new PC hard disks which have a throughput of
> less than 5 MB/s (my hard disk maxees out at 20 MB/s on my PC.) Do
> you know the throughputs of your drives, and the size of the memory in
> your machines?
Hum. A crap laptop harddrive will do 15 MBytes/s and a recent normal
desktop drive (7200rpm ATA or SATA) will do 50 MBytes/s or more...
If you get a lot less (like, 5 MB/s), you have a problem (DMA disabled,
etc)
next prev parent reply other threads:[~2005-11-17 9:36 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-11 13:59 Slowdown is gone & apt-get works with updated reiser4. So nevermind John Gilmore
2005-11-11 21:22 ` Hans Reiser
2005-11-11 22:06 ` Jonathan Briggs
2005-11-12 3:07 ` michael chang
2005-11-12 6:38 ` Hans Reiser
2005-11-12 9:06 ` John Gilmore
2005-11-12 20:57 ` Artur Makówka
2005-11-12 21:28 ` Hans Reiser
2005-11-13 0:55 ` Artur Makówka
2005-11-13 12:18 ` Laurent Riffard
2005-11-13 12:25 ` Laurent Riffard
2005-11-13 12:29 ` Artur Makówka
2005-11-13 13:12 ` Thomas Kuther
2005-11-13 14:05 ` Artur Makówka
2005-11-14 17:48 ` Pat Double
2005-11-14 20:22 ` Artur Makówka
2005-11-13 14:05 ` Ingo Bormuth
2005-11-14 19:41 ` More Slowdown Craig Shelley
2005-11-14 19:53 ` jp
2005-11-14 20:47 ` Christian Iversen
2005-11-15 14:27 ` Craig Shelley
2005-11-15 18:04 ` Laurent Riffard
2005-11-15 18:42 ` Craig Shelley
[not found] ` <437AF653.9040001@namesys.com>
2005-11-16 9:33 ` Craig Shelley
2005-11-17 3:08 ` michael chang
2005-11-17 4:49 ` Hans Reiser
2005-11-17 12:02 ` Artur Makówka
2005-11-17 12:40 ` Vladimir V. Saveliev
2005-11-17 10:34 ` John Gilmore
2005-11-17 21:12 ` Hans Reiser
2005-11-18 20:45 ` Hans Reiser
2005-11-17 8:56 ` Ingo Bormuth
2005-11-17 9:36 ` PFC [this message]
2005-11-17 21:08 ` Hans Reiser
2005-11-19 4:44 ` michael chang
2005-11-12 0:56 ` Versioning Plugin Peter van Hardenberg
2005-11-12 2:24 ` Hans Reiser
2005-11-12 14:06 ` Ming Zhang
2005-11-12 21:46 ` David Masover
2005-11-12 22:05 ` Ming Zhang
2005-11-13 2:56 ` David Masover
2005-11-13 3:05 ` Ming Zhang
2005-11-13 4:23 ` Hans Reiser
2005-11-13 3:28 ` Hans Reiser
2005-11-12 22:54 ` Hans Reiser
2005-11-13 0:57 ` Ming Zhang
2005-11-13 1:55 ` michael chang
2005-11-13 1:56 ` michael chang
2005-11-13 2:13 ` Ming Zhang
2005-11-13 3:03 ` Hans Reiser
2005-11-13 2:13 ` Ming Zhang
2005-11-13 2:27 ` Hans Reiser
2005-11-13 2:32 ` Ming Zhang
2005-11-13 2:53 ` michael chang
2005-11-13 2:56 ` Ming Zhang
2005-11-12 22:57 ` Lares Moreau
2005-11-12 23:35 ` Hans Reiser
-- strict thread matches above, loose matches on Subject: below --
2005-11-15 22:22 More Slowdown Thorsten Hirsch
2005-11-15 22:55 ` Artur Makówka
2005-11-15 23:09 ` Andreas Rosander
2005-11-15 23:13 ` Avuton Olrich
2005-11-15 23:23 ` Artur Makówka
2005-11-15 23:44 ` Craig Shelley
2005-11-16 0:45 ` David Masover
2005-11-16 1:40 ` Francesco Biscani
2005-11-16 12:18 ` Nikita Danilov
2005-11-16 13:28 ` John Gilmore
2005-11-16 17:28 ` David Masover
2005-11-17 0:46 ` evilninja
2005-11-16 18:18 ` Artur Makówka
2005-11-17 13:47 Hesse, Christian
2005-11-22 10:23 ` Marcel Hilzinger
2005-11-22 10:38 ` Sander
2005-11-22 10:44 ` Marcel Hilzinger
2005-11-22 14:29 ` David Masover
2005-11-22 15:01 ` Marcel Hilzinger
2005-11-22 19:15 ` David Masover
2005-11-22 23:17 ` Hans Reiser
2005-11-22 15:08 ` Sander
2005-11-22 11:34 ` Ingo Bormuth
2005-11-22 12:29 ` Artur Makówka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=op.s0dozkscth1vuj@localhost \
--to=lists@boutiquenumerique.com \
--cc=craig@microtron.org.uk \
--cc=reiserfs-list@namesys.com \
--cc=thenewme91@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.