linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@transmeta.com>
To: Rik van Riel <riel@conectiva.com.br>
Cc: Ingo Molnar <mingo@elte.hu>, Andrea Arcangeli <andrea@suse.de>,
	linux-mm@kvack.org, "Stephen C. Tweedie" <sct@redhat.com>
Subject: Re: [highmem bug report against -test5 and -test6] Re: [PATCH] Re: simple FS application that hangs 2.4-test5, mem mgmt problem or FS buffer cache mgmt problem? (fwd)
Date: Mon, 2 Oct 2000 14:58:39 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.10.10010021447310.2206-100000@penguin.transmeta.com> (raw)
In-Reply-To: <Pine.LNX.4.21.0010021836090.1067-100000@duckman.distro.conectiva>


On Mon, 2 Oct 2000, Rik van Riel wrote:
> 
> You will want to add page->mapping too, so we won't be kicking
> buffermem data out of memory when we don't need to.

Fair enough.

> Also, you really want to free the bufferheads on the pages that
> are in heavy use (say glibc shared ages) too...

I don't think they matter that much, but yes, we could just do this all
outside the whole test.

> > (and yes, I think it should also start background writing - we
> > probably need the gfp_mask to know whether we can do that).
> 
> Background writing is done by kupdate / kflushd.

.. but there's no reason why we should not do it here.

I'd MUCH rather work towards a setup where kupdate/kflushd goes away
completely, and the work is done as a natural end result of just aging the
pages.

If you look at what kflushd does, you'll notice that it already has a lot
of incestuous relationships with the VM layer. And the VM layer has a lot
of the same with bdflush. That is what I call UGLY and bad design.

Now, look at what bdflush actually _does_. Think about it.

Yeah, it's really aging the pages and writing them out in the background.

In short, it's something that kswapd might as well do.

In fact, if you look at how the VM layer tries to wake up bdflush, you'll
notice that the VM layer really wants to say "please flush more pages
because I'm low on memory". Which is really another way of saying that
kswapd should run more. 

It all ties together, and we should make that explicit, instead of having
the current incestuous relationships and saying "oh, the VM layer
shouldn't write out dirty pages, because that's the job of kflushd (but
the VM layer can wake it up because it knows that kflushd needs to be
run)".

Note that the current "flush_dirty_buffers()" should just go away. It has
no advantages compared to having "try_to_free_buffers(x,1)" on the
properly aged LRU queue..

		Linus

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/

  reply	other threads:[~2000-10-02 21:58 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-02 19:35 Rik van Riel
2000-10-02 19:56 ` Andrea Arcangeli
2000-10-02 19:59   ` Rik van Riel
2000-10-02 20:17     ` Andrea Arcangeli
2000-10-02 20:24       ` Rik van Riel
2000-10-02 21:16     ` Linus Torvalds
2000-10-02 20:06   ` Linus Torvalds
2000-10-02 20:16     ` Rik van Riel
2000-10-02 20:25     ` Ingo Molnar
2000-10-02 20:45       ` Rik van Riel
2000-10-02 21:21         ` Linus Torvalds
2000-10-02 21:27           ` Rik van Riel
2000-10-02 21:19       ` Linus Torvalds
2000-10-02 21:23         ` Rik van Riel
2000-10-02 21:31           ` Linus Torvalds
2000-10-02 21:42             ` Rik van Riel
2000-10-02 21:58               ` Linus Torvalds [this message]
2000-10-02 22:08                 ` Rik van Riel
2000-10-02 22:18                   ` Andrea Arcangeli
2000-10-02 22:23                     ` Rik van Riel
2000-10-02 23:06                     ` Linus Torvalds
2000-10-02 23:12                       ` Rik van Riel
2000-10-02 23:16                         ` Linus Torvalds
2000-10-02 23:20                       ` Andrea Arcangeli
2000-10-02 22:53                   ` Linus Torvalds
2000-10-02 23:06                     ` Rik van Riel
2000-10-02 23:14                       ` Linus Torvalds
2000-10-02 21:57         ` Ingo Molnar
2000-10-02 21:52           ` Rik van Riel
2000-10-02 22:53             ` Ingo Molnar
2000-10-02 23:01               ` Rik van Riel
2000-10-02 23:10                 ` Andrea Arcangeli
2000-10-02 23:29                 ` Ingo Molnar
2000-10-02 23:25                   ` Andrea Arcangeli
2000-10-02 23:32                     ` Linus Torvalds
2000-10-03 12:05                     ` Ingo Molnar

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=Pine.LNX.4.10.10010021447310.2206-100000@penguin.transmeta.com \
    --to=torvalds@transmeta.com \
    --cc=andrea@suse.de \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=riel@conectiva.com.br \
    --cc=sct@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox