From: Hans Reiser <reiser@namesys.com>
To: David Masover <ninja@slaphack.com>
Cc: Chris Dukes <pakrat@www.uk.linux.org>, Spam <spam@tnonline.net>,
reiserfs-list@namesys.com
Subject: Re: flush earlier? (was Re: Congratulations! we have got hash function screwed up)
Date: Sat, 08 Jan 2005 12:48:07 -0800 [thread overview]
Message-ID: <41E04707.9060101@namesys.com> (raw)
In-Reply-To: <41DF699C.3030400@slaphack.com>
David Masover wrote:
>
>
> Hans Reiser wrote:
> | David Masover wrote:
> |
> |> Hans Reiser wrote:
> |> | Chris Dukes wrote:
> |> |
> |> |>
> |> |>
> |> |> All filesystems will fail or suffer degraded performance under
> |> |> certain conditions, you need to determine what conditions are
> |> acceptable
> |> |> for your data.
> |> |>
> |> |>
> |> |>
> |> | and each generation of software reduces the extent of such
> conditions.
> |> | Reiser4 fixes this problem cleanly.
> |>
> |> I think Reiser4's degraded performance condition is when it gets
> lots of
> |> RAM. First, a disclaimer -- I don't have the latest reiser4
> patch. But
> |> in all versions of the FS, I've found that if I'm ever trying to do
> |> anything when reiser finally decides to flush to disk, basically my
> |> whole system is locked up. I haven't tested, but I think this would
> |> actually be worse with more RAM, because it would be longer until the
> |> flush was forced, so each flush would take longer.
> |>
> |> What is needed is some sort of estimator or estimate. An estimator
> |> would be something that would flush when, based on recent fs load, it
> |> was reasonable to expect that RAM would fill up just as the flush was
> |> completing. An estimate would be to flush if a certain percentage of
> |> RAM was full, and to go to synchronous mode if memory usage didn't go
> |> back below that percentage.
> |
> |
> | We need to throttle rather than flush, so as to ensure that for every
> | page added to an atom, at least X pages must reach disk, until close to
> | the end of the atom when we just flush it out.
>
> I'm not sure I understand that. Is the idea of that to build up a write
> buffer which insists on flushing bytes off the front as they are added
> onto the back, without flushing huge chunks at once?
Yes.
>
> Would that be as efficient at packing (no fragmentation)?
No.
>
> But the main problem was it would basically lock the fs entirely -- no
> access at all.
Which is why we need to allow fusing a little bit.
> This especially hurts with read access.
Read access? Do you have one CPU? Maybe the problem isn't what I
thought it was.
> When fs is
> under heavy load, I can wait several minutes to start a browser,
> especially when a lot of writing is happening.
>
> For now, how about a quick fix. Can we force a flush when we get to
> 80%?
VM already has an asynchronous flush mechanism. We just need to clean
up our interaction with it a bit to smooth things out.
> Is there a synchronous mode, and can we use that after 80%, or do
> we have to fake it by trying to flush every few seconds?
>
next prev parent reply other threads:[~2005-01-08 20:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-28 22:12 Congratulations! we have got hash function screwed up Lehmann
2004-12-29 18:55 ` Stefan Traby
2004-12-29 21:04 ` Lehmann
2004-12-29 21:05 ` Hans Reiser
2004-12-29 21:43 ` Lehmann
2004-12-29 21:46 ` Christian Iversen
2004-12-29 22:27 ` Lehmann
2004-12-30 2:05 ` Hans Reiser
2004-12-30 10:22 ` Matthias Andree
2004-12-30 17:02 ` Lehmann
2005-01-06 12:45 ` Alex Zarochentsev
2005-01-06 14:27 ` Lehmann
2005-01-06 15:56 ` Hans Reiser
2005-01-06 16:13 ` Spam
2005-01-06 16:26 ` Chris Dukes
2005-01-06 16:29 ` Spam
2005-01-06 16:56 ` Chris Dukes
2005-01-07 17:22 ` Hans Reiser
2005-01-07 17:28 ` Chris Dukes
2005-01-07 23:27 ` flush earlier? (was Re: Congratulations! we have got hash function screwed up) David Masover
2005-01-07 23:52 ` Hans Reiser
2005-01-08 5:03 ` David Masover
2005-01-08 20:48 ` Hans Reiser [this message]
2005-01-09 23:26 ` David Masover
2005-01-06 18:55 ` Congratulations! we have got hash function screwed up Edward Shishkin
2005-01-07 17:26 ` Lehmann
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=41E04707.9060101@namesys.com \
--to=reiser@namesys.com \
--cc=ninja@slaphack.com \
--cc=pakrat@www.uk.linux.org \
--cc=reiserfs-list@namesys.com \
--cc=spam@tnonline.net \
/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.