From: ebiederm@xmission.com (Eric W. Biederman)
To: Andrew Morton <andrewm@uow.edu.au>
Cc: "Jeffrey W. Baker" <jwbaker@acm.org>,
Derek Glidden <dglidden@illusionary.com>,
linux-kernel@vger.kernel.org
Subject: Re: Break 2.4 VM in five easy steps
Date: 06 Jun 2001 07:32:34 -0600 [thread overview]
Message-ID: <m14rtt7mz1.fsf@frodo.biederman.org> (raw)
In-Reply-To: <3B1D5ADE.7FA50CD0@illusionary.com> <Pine.LNX.4.33.0106051634540.8311-100000@heat.gghcwest.com> <3B1D927E.1B2EBE76@uow.edu.au>
In-Reply-To: <3B1D927E.1B2EBE76@uow.edu.au>
Andrew Morton <andrewm@uow.edu.au> writes:
> "Jeffrey W. Baker" wrote:
> >
> > Because the 2.4 VM is so broken, and
> > because my machines are frequently deeply swapped,
>
> The swapoff algorithms in 2.2 and 2.4 are basically identical.
> The problem *appears* worse in 2.4 because it uses lots
> more swap.
And 2.4 does delayed swap deallocation. We don't appear to optimize
the case where a page is only used by the swap cache. That should
be able to save some cpu overhead if nothing else.
And I do know that in the early 2.2 timeframe, swapoff was used
to generate an artifically high VM load, for testing the VM. It looks
like that testing procedure has been abandoned :)
> > they can sometimes take over 30 minutes to shutdown.
>
> Yes. The sys_swapoff() system call can take many minutes
> of CPU time. It basically does:
>
> for (each page in swap device) {
> for (each process) {
> for (each page used by this process)
> stuff
>
> It's interesting that you've found a case where this
> actually has an operational impact.
Agreed.
> Haven't looked at it closely, but I think the algorithm
> could become something like:
>
> for (each process) {
> for (each page in this process) {
> if (page is on target swap device)
> get_it_off()
> }
> }
>
> for (each page in swap device) {
> if (it is busy)
> complain()
> }
You would need to handle the shared memory case as well.
But otherwise this looks sound. I would suggest going
through page->address_space->i_mmap_shared to find all of the
potential mappings but the swapper address space is used by all
processes that have pages in swap.
> That's 10^4 to 10^6 times faster.
It looks like it could be. The bottleneck should be diskio, if it
is not we have a noticeable inefficient algorithm.
Eric
next prev parent reply other threads:[~2001-06-06 13:36 UTC|newest]
Thread overview: 184+ 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-07 23:29 ` Shane Nay
2001-06-08 1:18 ` Jonathan Morton
2001-06-08 1:18 ` Jonathan Morton
2001-06-08 12:50 ` Mike Galbraith
2001-06-08 12:50 ` Mike Galbraith
2001-06-08 14:19 ` Tobias Ringstrom
2001-06-08 14:19 ` Tobias Ringstrom
2001-06-08 15:51 ` John Stoffel
2001-06-08 15:51 ` John Stoffel
2001-06-08 17:01 ` Mike Galbraith
2001-06-08 17:01 ` Mike Galbraith
2001-06-08 17:43 ` John Stoffel
2001-06-08 17:43 ` John Stoffel
2001-06-08 17:35 ` Marcelo Tosatti
2001-06-08 17:35 ` Marcelo Tosatti
2001-06-08 20:58 ` John Stoffel
2001-06-08 20:58 ` John Stoffel
2001-06-08 20:04 ` Marcelo Tosatti
2001-06-08 20:04 ` Marcelo Tosatti
2001-06-08 23:44 ` Jonathan Morton
2001-06-08 23:44 ` Jonathan Morton
2001-06-09 2:36 ` Andrew 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 3:43 ` Mike Galbraith
2001-06-09 4:05 ` Jonathan Morton
2001-06-09 4:05 ` Jonathan Morton
2001-06-09 5:09 ` Mike Galbraith
2001-06-09 5:09 ` Mike Galbraith
2001-06-09 5:07 ` Mike Galbraith
2001-06-09 5:07 ` Mike Galbraith
2001-06-08 18:30 ` Mike Galbraith
2001-06-08 18:30 ` Mike Galbraith
2001-06-09 12:31 ` Zlatko Calusic
2001-06-09 12:31 ` Zlatko Calusic
2001-06-09 3:34 ` Rik van Riel
2001-06-09 3:34 ` Rik van Riel
2001-06-08 16:51 ` Mike Galbraith
2001-06-08 16:51 ` Mike Galbraith
2001-06-08 19:09 ` Tobias Ringstrom
2001-06-08 19:09 ` Tobias Ringstrom
2001-06-09 4:36 ` Mike Galbraith
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 15:57 ` Jeff Garzik
2001-06-06 16:12 ` Richard Gooch
2001-06-06 16:12 ` Richard Gooch
2001-06-06 16:15 ` Jeff Garzik
2001-06-06 16:15 ` Jeff Garzik
2001-06-06 16:19 ` Richard Gooch
2001-06-06 16:19 ` Richard Gooch
2001-06-06 16:53 ` Mike Galbraith
2001-06-06 16:53 ` Mike Galbraith
2001-06-06 17:05 ` Greg Hennessy
2001-06-06 18:42 ` Eric W. Biederman
2001-06-06 18:42 ` Eric W. Biederman
2001-06-07 1:29 ` Jan Harkes
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 [this message]
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
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 18:52 ` Eric W. Biederman
2001-06-06 19:06 ` Mike Galbraith
2001-06-06 19:06 ` Mike Galbraith
2001-06-06 19:28 ` Eric W. Biederman
2001-06-06 19:28 ` Eric W. Biederman
2001-06-07 4:32 ` Mike Galbraith
2001-06-07 4:32 ` Mike Galbraith
2001-06-07 6:38 ` Eric W. Biederman
2001-06-07 6:38 ` Eric W. Biederman
2001-06-07 7:28 ` Mike Galbraith
2001-06-07 7:28 ` Mike Galbraith
2001-06-07 7:59 ` Eric W. Biederman
2001-06-07 7:59 ` Eric W. Biederman
2001-06-07 8:15 ` Mike Galbraith
2001-06-07 8:15 ` Mike Galbraith
2001-06-07 17:10 ` Marcelo Tosatti
2001-06-07 17:10 ` Marcelo Tosatti
2001-06-06 19:28 ` Derek Glidden
2001-06-06 19:28 ` Derek Glidden
2001-06-09 7:55 ` Rik van Riel
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 14:22 ` Bulent Abali
2001-06-07 15:38 ` Mike Galbraith
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=m14rtt7mz1.fsf@frodo.biederman.org \
--to=ebiederm@xmission.com \
--cc=andrewm@uow.edu.au \
--cc=dglidden@illusionary.com \
--cc=jwbaker@acm.org \
--cc=linux-kernel@vger.kernel.org \
/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.