From: ebiederm@xmission.com (Eric W. Biederman)
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Break 2.4 VM in five easy steps
Date: 07 Jun 2001 02:54:34 -0600 [thread overview]
Message-ID: <m1u21s4qlx.fsf@frodo.biederman.org> (raw)
In-Reply-To: <Pine.LNX.4.21.0106070109210.5128-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.21.0106070109210.5128-100000@penguin.transmeta.com>
Linus Torvalds <torvalds@transmeta.com> writes:
> On 7 Jun 2001, Eric W. Biederman wrote:
>
> No - I suspect that we're not actually doing all that much IO at all, and
> the real reason for the lock-up is just that the current algorithm is so
> bad that when it starts to act exponentially worse it really _is_ taking
> minutes of CPU time following pointers and generally not being very nice
> on the CPU cache etc..
Hmm. Unless I am mistaken the complexity is O(SwapPages*VMSize)
Which is very bad, but no where near exponentially horrible.
> The bulk of the work is walking the process page tables thousands and
> thousands of times. Expensive.
Definitely. I played following the page tables in a good way a while
back, and even when you do it right the process is slow. Is
if (need_resched) {
schedule();
}
A good idiom to use when you know you have a loop that will take a
long time. Because even if we do this right we should do our best to
avoid starving other processes in the system
Hmm. There is a nasty case with turning the walk inside out. When we
read a page into RAM there could still be other users of that page
that still refer to the swap entry. So we cannot immediately remove
the page from the swap cache. Unless we want to break sharing and
increase the demands upon the virtual memory when we are shrinking
it...
> > If this is going on I think we need to look at our delayed
> > deallocation policy a little more carefully.
>
> Agreed. I already talked in private with some people about just
> re-visiting the issue of the lazy de-allocation. It has nice properties,
> but it certainly appears as if the nasty cases just plain outweigh the
> advantages.
I'm trying to remember the advantages. Besides not having to care
that a page is a swap page in free_pte. If there really is some value
in not handling the pages there (and I seem to recall something about
pages under I/O). It might at least be worth putting the pages on
their own LRU list. So that kswapd can cruch through the list
whenever it wakes up and gives a bunch of free pages.
Eric
next prev parent reply other threads:[~2001-06-07 8:58 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-05 22:19 Break 2.4 VM in five easy steps Derek Glidden
2001-06-05 23:38 ` Jeffrey W. Baker
2001-06-06 1:42 ` Russell Leighton
2001-06-06 7:14 ` Sean Hunter
2001-06-06 7:47 ` Jonathan Morton
2001-06-06 2:16 ` Andrew Morton
2001-06-06 3:19 ` Derek Glidden
2001-06-06 8:19 ` Xavier Bestel
2001-06-06 8:54 ` Sean Hunter
2001-06-06 9:16 ` Xavier Bestel
2001-06-06 9:25 ` Sean Hunter
2001-06-06 10:04 ` Jonathan Morton
2001-06-06 9:57 ` Dr S.M. Huen
2001-06-06 10:06 ` DBs (ML)
2001-06-06 10:08 ` Vivek Dasmohapatra
2001-06-06 10:19 ` Lauri Tischler
2001-06-06 10:22 ` Sean Hunter
2001-06-06 10:48 ` Alexander Viro
2001-06-06 16:58 ` dean gaudet
2001-06-06 17:10 ` Remi Turk
2001-06-06 22:44 ` Kai Henningsen
2001-06-09 7:17 ` Rik van Riel
2001-06-06 16:47 ` dean gaudet
2001-06-06 17:17 ` Kurt Roeckx
2001-06-06 18:35 ` Dr S.M. Huen
2001-06-06 18:40 ` Mark Salisbury
2001-06-06 19:11 ` android
2001-06-07 0:27 ` Mike A. Harris
2001-06-07 0:20 ` Mike A. Harris
2001-06-09 8:16 ` Rik van Riel
2001-06-09 8:57 ` Mike A. Harris
2001-06-07 21:31 ` Shane Nay
2001-06-07 20:00 ` Marcelo Tosatti
2001-06-07 21:55 ` Shane Nay
2001-06-07 20:29 ` Marcelo Tosatti
2001-06-07 23:29 ` VM Report was:Re: " Shane Nay
2001-06-08 1:18 ` Jonathan Morton
2001-06-08 12:50 ` Mike Galbraith
2001-06-08 14:19 ` Tobias Ringstrom
2001-06-08 15:51 ` John Stoffel
2001-06-08 17:01 ` Mike Galbraith
2001-06-08 17:43 ` John Stoffel
2001-06-08 17:35 ` Marcelo Tosatti
2001-06-08 20:58 ` John Stoffel
2001-06-08 20:04 ` Marcelo Tosatti
2001-06-08 23:44 ` Jonathan Morton
2001-06-09 2:36 ` Andrew Morton
2001-06-09 6:33 ` Mark Hahn
2001-06-09 3:43 ` Mike Galbraith
2001-06-09 4:05 ` Jonathan Morton
2001-06-09 5:09 ` Mike Galbraith
2001-06-09 5:07 ` Mike Galbraith
2001-06-08 18:30 ` Mike Galbraith
2001-06-09 12:31 ` Zlatko Calusic
2001-06-09 3:34 ` Rik van Riel
2001-06-08 16:51 ` Mike Galbraith
2001-06-08 19:09 ` Tobias Ringstrom
2001-06-09 4:36 ` Mike Galbraith
2001-06-06 11:16 ` Daniel Phillips
2001-06-06 15:28 ` Richard Gooch
2001-06-06 15:42 ` Christian Bornträger
2001-06-06 15:57 ` Requirement: swap = RAM x 2.5 ?? Jeff Garzik
2001-06-06 16:12 ` Richard Gooch
2001-06-06 16:15 ` Jeff Garzik
2001-06-06 16:19 ` Richard Gooch
2001-06-06 16:53 ` Mike Galbraith
2001-06-06 17:05 ` Greg Hennessy
2001-06-06 18:42 ` Eric W. Biederman
2001-06-07 1:29 ` Jan Harkes
2001-06-06 17:14 ` Break 2.4 VM in five easy steps Ben Greear
2001-06-06 12:07 ` Jonathan Morton
2001-06-06 13:58 ` Gerhard Mack
2001-06-08 4:56 ` C. Martins
2001-06-06 14:41 ` Derek Glidden
2001-06-06 20:29 ` José Luis Domingo López
2001-06-06 14:16 ` Disconnect
[not found] ` <3B1DEAC7.43DEFA1C@idb.hist.no>
2001-06-06 14:51 ` Derek Glidden
2001-06-06 21:34 ` Alan Cox
2001-06-09 8:07 ` Rik van Riel
2001-06-07 7:23 ` Helge Hafting
2001-06-07 16:56 ` Eric W. Biederman
2001-06-07 20:24 ` José Luis Domingo López
2001-06-06 4:03 ` Jeffrey W. Baker
2001-06-06 13:32 ` Eric W. Biederman
2001-06-06 14:41 ` Marc Heckmann
2001-06-06 14:51 ` Hugh Dickins
2001-06-06 13:08 ` Eric W. Biederman
2001-06-06 16:48 ` Jeffrey W. Baker
[not found] ` <m2lmn61ceb.fsf@sympatico.ca>
2001-06-06 14:37 ` Derek Glidden
2001-06-07 0:34 ` Mike A. Harris
2001-06-07 3:13 ` Miles Lane
2001-06-07 15:49 ` Derek Glidden
2001-06-07 19:06 ` Miles Lane
2001-06-09 5:57 ` Mike A. Harris
2001-06-06 18:59 ` Mike Galbraith
2001-06-06 19:39 ` Derek Glidden
2001-06-06 20:47 ` Linus Torvalds
2001-06-07 7:42 ` Eric W. Biederman
2001-06-07 8:11 ` Linus Torvalds
2001-06-07 8:54 ` Eric W. Biederman [this message]
2001-06-06 21:39 ` android
2001-06-06 22:08 ` Jonathan Morton
2001-06-06 22:27 ` android
2001-06-06 22:33 ` Antoine
2001-06-06 22:38 ` Robert Love
2001-06-06 22:40 ` Jonathan Morton
-- strict thread matches above, loose matches on Subject: below --
2001-06-06 15:31 Derek Glidden
2001-06-06 15:46 ` John Alvord
2001-06-06 15:58 ` Derek Glidden
2001-06-06 18:27 ` Eric W. Biederman
2001-06-06 18:47 ` Derek Glidden
2001-06-06 18:52 ` Eric W. Biederman
2001-06-06 19:06 ` Mike Galbraith
2001-06-06 19:28 ` Eric W. Biederman
2001-06-07 4:32 ` Mike Galbraith
2001-06-07 6:38 ` Eric W. Biederman
2001-06-07 7:28 ` Mike Galbraith
2001-06-07 7:59 ` Eric W. Biederman
2001-06-07 8:15 ` Mike Galbraith
2001-06-07 17:10 ` Marcelo Tosatti
2001-06-06 19:28 ` Derek Glidden
2001-06-09 7:55 ` Rik van Riel
2001-06-06 20:43 ` Daniel Phillips
2001-06-06 21:57 ` LA Walsh
2001-06-07 6:35 ` Eric W. Biederman
2001-06-07 15:25 ` LA Walsh
2001-06-07 16:42 ` Eric W. Biederman
2001-06-07 20:47 ` LA Walsh
2001-06-08 19:38 ` Pavel Machek
2001-06-09 7:34 ` Rik van Riel
2001-06-06 21:30 ` Alan Cox
2001-06-06 21:57 ` Derek Glidden
2001-06-09 8:09 ` Rik van Riel
2001-06-07 10:46 Bernd Jendrissek
[not found] ` <20010607153835.T14203@jessica>
2001-06-08 7:37 ` Bernd Jendrissek
2001-06-08 19:32 ` Pavel Machek
2001-06-11 12:06 ` Maciej Zenczykowski
2001-06-11 19:04 ` Rik van Riel
2001-06-12 7:46 ` Bernd Jendrissek
2001-06-07 14:22 Bulent Abali
2001-06-07 15:38 ` Mike Galbraith
2001-06-10 22:04 Rob Landley
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=m1u21s4qlx.fsf@frodo.biederman.org \
--to=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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