From: Daniel Phillips <phillips@innominate.de>
To: Chris Mason <mason@suse.com>, linux-kernel@vger.kernel.org
Subject: Re: [RFC] changes to buffer.c (was Test12 ll_rw_block error)
Date: Fri, 22 Dec 2000 17:45:57 +0100 [thread overview]
Message-ID: <3A438545.2D9998AE@innominate.de> (raw)
In-Reply-To: <Pine.LNX.4.21.0012212229190.2603-100000@freak.distro.conectiva> <243950000.977493376@coffee>
Chris Mason wrote:
>
> On Thursday, December 21, 2000 22:38:04 -0200 Marcelo Tosatti <marcelo@conectiva.com.br> wrote:
> >
> > On Thu, 21 Dec 2000, Andreas Dilger wrote:
> >
> >> Marcelo Tosatti writes:
> >> > It seems your code has a problem with bh flush time.
> >> >
> >> > In flush_dirty_buffers(), a buffer may (if being called from kupdate) only
> >> > be written in case its old enough. (bh->b_flushtime)
> >> >
> >> > If the flush happens for an anonymous buffer, you'll end up writing all
> >> > buffers which are sitting on the same page (with block_write_anon_page),
> >> > but these other buffers are not necessarily old enough to be flushed.
> >>
> >> This isn't really a "problem" however. The page is the _maximum_ age of
> >> the buffer before it needs to be written. If we can efficiently write it
> >> out with another buffer
> >
> >> (essentially for free if they are on the same spot on disk)
> >
> > Are you sure this is true for buffer pages in most cases?
>
> It's a good point. block_write_anon_page could be changed to just
> write the oldest buffer and redirty the page (if the buffers are
> far apart). If memory is tight, and we *really* need the page back,
> it will be flushed by try_to_free_buffers.
>
> It seems a bit nasty to me though...writepage should write the page.
Um. Why cater to the uncommon case of 1K blocks? Just let
bdflush/kupdated deal with them in the normal way - it's pretty
efficient. Only try to do the clustering optimization when buffer size
matches memory page size.
--
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2000-12-22 17:18 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3A398F84.2CD3039D@thebarn.com>
2000-12-15 6:20 ` Test12 ll_rw_block error Linus Torvalds
2000-12-15 7:00 ` Alexander Viro
2000-12-15 9:14 ` Chris Mason
2000-12-17 0:54 ` Russell Cattelan
2000-12-17 12:20 ` Chris Mason
2000-12-15 10:51 ` Stephen C. Tweedie
2000-12-15 19:04 ` Linus Torvalds
2000-12-17 1:08 ` Russell Cattelan
2000-12-18 11:44 ` Stephen C. Tweedie
2000-12-17 2:38 ` Marcelo Tosatti
2000-12-18 11:46 ` Stephen C. Tweedie
2000-12-19 14:05 ` Marcelo Tosatti
2000-12-19 16:43 ` Daniel Phillips
2000-12-19 17:18 ` Marcelo Tosatti
2000-12-19 17:40 ` Christoph Hellwig
2000-12-21 23:25 ` [RFC] changes to buffer.c (was Test12 ll_rw_block error) Chris Mason
2000-12-22 0:19 ` Marcelo Tosatti
2000-12-22 2:20 ` Andreas Dilger
2000-12-22 0:38 ` Marcelo Tosatti
2000-12-22 13:56 ` Chris Mason
2000-12-22 16:45 ` Daniel Phillips [this message]
2000-12-22 19:35 ` Chris Mason
2000-12-22 15:07 ` Chris Mason
2000-12-22 19:52 ` Marcelo Tosatti
2000-12-22 23:18 ` Chris Mason
2000-12-22 23:26 ` Marcelo Tosatti
2000-12-23 18:21 ` Chris Mason
2000-12-23 19:02 ` Linus Torvalds
2000-12-23 19:25 ` Chris Mason
2000-12-23 15:47 ` Daniel Phillips
2000-12-27 0:57 ` Chris Mason
2000-12-26 23:18 ` Marcelo Tosatti
2000-12-27 20:26 ` Daniel Phillips
2000-12-27 20:49 ` Chris Mason
2000-12-28 15:49 ` Daniel Phillips
2000-12-28 19:19 ` Chris Mason
2000-12-28 19:29 ` Linus Torvalds
2000-12-29 16:03 ` Chris Mason
2000-12-29 16:21 ` Marcelo Tosatti
2000-12-29 18:33 ` Alexander Viro
2001-01-05 15:54 ` Chris Mason
2001-01-05 15:43 ` Marcelo Tosatti
2001-01-05 17:49 ` Daniel Phillips
2001-01-05 17:52 ` Chris Mason
2001-01-05 19:51 ` Chris Mason
2001-01-05 18:32 ` Marcelo Tosatti
2001-01-05 20:29 ` Rik van Riel
2001-01-05 18:43 ` Marcelo Tosatti
2001-01-05 20:37 ` Rik van Riel
2001-01-05 21:08 ` Chris Mason
2001-01-05 18:09 ` Juergen Schneider
2000-12-29 17:58 ` Daniel Phillips
2001-01-02 15:49 ` Chris Mason
2000-12-22 1:54 ` Alexander Viro
2000-12-22 13:49 ` Chris Mason
2000-12-17 0:51 ` Test12 ll_rw_block error Russell Cattelan
2000-12-17 0:21 ` Russell Cattelan
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=3A438545.2D9998AE@innominate.de \
--to=phillips@innominate.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mason@suse.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.