mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nikita Danilov <Nikita@Namesys.COM>
To: Rik van Riel <riel@redhat.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>,
	Andrew Morton <akpm@osdl.org>, Paul Mackerras <paulus@samba.org>,
	<brettspamacct@fastclick.com>, <jgarzik@pobox.com>,
	<linux-kernel@vger.kernel.org>
Subject: Re: ~500 megs cached yet 2.6.5 goes into swap hell
Date: Fri, 30 Apr 2004 17:18:39 +0400	[thread overview]
Message-ID: <16530.21039.756717.489879@laputa.namesys.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0404300849480.6976-200000@chimarrao.boston.redhat.com>

Rik van Riel writes:
 > On Fri, 30 Apr 2004, Nick Piggin wrote:
 > > Rik van Riel wrote:
 > 
 > > > The basic idea of use-once isn't bad (search for LIRS and
 > > > ARC page replacement), however the Linux implementation
 > > > doesn't have any of the checks and balances that the
 > > > researched replacement algorithms have...
 > 
 > > No, use once logic is good in theory I think. Unfortunately
 > > our implementation is quite fragile IMO (although it seems
 > > to have been "good enough").
 > 
 > Hey, that's what I said ;))))
 > 
 > > This is what I'm currently doing (on top of a couple of other
 > > patches, but you get the idea). I should be able to transform
 > > it into a proper use-once logic if I pick up Nikita's inactive
 > > list second chance bit.
 > 
 > Ummm nope, there just isn't enough info to keep things
 > as balanced as ARC/LIRS/CAR(T) can do.  No good way to
 > auto-tune the sizes of the active and inactive lists.

While keeping "history" for non-resident pages is very good from many
points of view (provides infrastructure for local replacement and
working set tuning, for example) and in the long term, current scanner
can still be improved somewhat.

Here are results that I obtained some time ago. Test is to concurrently
clone (bk) and build (make -jN) kernel source in M directories.

For N = M = 11, TIMEFORMAT='%3R %3S %3U'

                                        REAL    SYS      USER
"stock"                               3818.320 568.999 4358.460
transfer-dirty-on-refill              3368.690 569.066 4377.845
check-PageSwapCache-after-add-to-swap 3237.632 576.208 4381.248
dont-unmap-on-pageout                 3207.522 566.539 4374.504
async-writepage                       3115.338 562.702 4325.212

(check-PageSwapCache-after-add-to-swap was added to mainline since them.)

These patches weren't updated for some time. Last version is at
ftp://ftp.namesys.com/pub/misc-patches/unsupported/extra/2004.03.25-2.6.5-rc2

[from Nick Piggin's patch]
 > 
 > Changes mark_page_accessed to only set the PageAccessed bit, and
 > not move pages around the LRUs. This means we don't have to take
 > the lru_lock, and it also makes page ageing and scanning consistient
 > and all handled in mm/vmscan.c

By the way, batch-mark_page_accessed patch at the URL above also tries
to reduce lock contention in mark_page_accessed(), but through more
standard approach of batching target pages in per-cpu pvec.

Nikita.


  parent reply	other threads:[~2004-04-30 13:18 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-28 21:27 Brett E.
2004-04-29  0:01 ` Andrew Morton
2004-04-29  0:10   ` Jeff Garzik
2004-04-29  0:21     ` Nick Piggin
2004-04-29  0:50       ` Wakko Warner
2004-04-29  0:53         ` Jeff Garzik
2004-04-29  0:54         ` Nick Piggin
2004-04-29  1:51           ` Tim Connors
2004-04-29 21:45         ` Denis Vlasenko
2004-04-29  0:58       ` Marc Singer
2004-04-29  3:48         ` Nick Piggin
2004-04-29  4:20           ` Marc Singer
2004-04-29  4:26             ` Nick Piggin
2004-04-29 14:49               ` Marc Singer
2004-04-30  4:08                 ` Nick Piggin
2004-04-30 22:31                   ` Marc Singer
2004-04-29  6:38             ` William Lee Irwin III
2004-04-29  7:36             ` Russell King
2004-04-29 10:44               ` Nick Piggin
2004-04-29 11:04                 ` Russell King
2004-04-29 14:52                   ` Marc Singer
2004-04-29 20:01       ` Horst von Brand
2004-04-29 20:18         ` Martin J. Bligh
2004-04-29 20:33         ` David B. Stevens
2004-04-29 22:42           ` Steve Youngs
2004-04-29 20:36         ` Paul Jackson
2004-04-29 21:19           ` Andrew Morton
2004-04-29 21:34             ` Paul Jackson
2004-04-29 21:57               ` Andrew Morton
2004-04-29 22:18                 ` Paul Jackson
2004-04-30  0:04                 ` Andy Isaacson
2004-04-30  0:32                   ` Andrew Morton
2004-04-30  0:54                     ` Paul Jackson
2004-04-30  5:38                       ` Andy Isaacson
2004-04-30  6:00                         ` Nick Piggin
2004-04-30  7:52                     ` Jeff Garzik
2004-04-30  8:02                       ` Andrew Morton
2004-04-30  8:09                         ` Jeff Garzik
2004-05-06 13:08             ` Pavel Machek
2004-05-07 15:53               ` Hugh Dickins
2004-05-07 16:57                 ` Pavel Machek
2004-05-07 17:30                   ` Timothy Miller
2004-05-07 17:43                     ` Hugh Dickins
2004-05-07 17:48                     ` Mark Frazer
2004-05-12 17:52                   ` Rob Landley
2004-05-17 20:16                     ` Hugh Dickins
2004-04-29 21:38           ` Timothy Miller
2004-04-29 21:47             ` Paul Jackson
2004-04-29 22:18               ` Timothy Miller
2004-04-29 22:46                 ` Paul Jackson
2004-04-29 23:08                   ` Timothy Miller
2004-04-30 12:31                     ` Bart Samwel
2004-04-30 15:35                       ` Clay Haapala
2004-04-30 15:44                         ` Bart Samwel
2004-04-30 22:11                       ` Paul Jackson
2004-04-30  3:37                 ` Tim Connors
2004-04-30  5:15         ` Nick Piggin
2004-04-30  6:20         ` Tim Connors
2004-04-30  6:34           ` Nick Piggin
2004-04-30  7:05             ` Tim Connors
2004-04-30  7:15               ` Nick Piggin
2004-04-30  9:18               ` Re[2]: " vda
2004-04-30  9:33                 ` Arjan van de Ven
2004-04-30 11:33                   ` Denis Vlasenko
2004-04-30 16:19                   ` Timothy Miller
2004-04-29  0:49     ` Brett E.
2004-04-29  1:00       ` Andrew Morton
2004-04-29  1:24         ` Jeff Garzik
2004-04-29  1:40           ` Andrew Morton
2004-04-29  1:47             ` Rik van Riel
2004-04-29 18:14               ` Adam Kropelin
2004-04-30  3:17                 ` Tim Connors
2004-04-29  2:19             ` Tim Connors
2004-04-29 16:24             ` Martin J. Bligh
2004-04-29 16:36               ` Chris Friesen
2004-04-29 16:56                 ` Martin J. Bligh
2004-04-29  1:30         ` Paul Mackerras
2004-04-29  1:31           ` Paul Mackerras
2004-04-29  1:53           ` Andrew Morton
2004-04-29  2:40             ` Andrew Morton
2004-04-29  2:58               ` Paul Mackerras
2004-04-29  3:09                 ` Andrew Morton
2004-04-29  3:14                 ` William Lee Irwin III
2004-04-29  6:12                 ` Benjamin Herrenschmidt
2004-04-29  6:22                   ` Andrew Morton
2004-04-29  6:25                     ` Benjamin Herrenschmidt
2004-04-29  6:31                   ` William Lee Irwin III
2004-04-29 16:50               ` Martin J. Bligh
2004-04-29  3:57             ` Nick Piggin
2004-04-29 14:29               ` Rik van Riel
2004-04-30  3:00                 ` Nick Piggin
2004-04-30 12:50                   ` Rik van Riel
2004-04-30 13:07                     ` Nick Piggin
2004-04-30 13:18                     ` Nikita Danilov [this message]
2004-04-30 13:39                       ` Nick Piggin
2004-04-29  1:46         ` Rik van Riel
2004-04-29  1:57           ` Andrew Morton
2004-04-29  2:29             ` Marc Singer
2004-04-29  2:35               ` Andrew Morton
2004-04-29  3:10                 ` Marc Singer
2004-04-29  3:19                   ` Andrew Morton
2004-04-29  4:13                     ` Marc Singer
2004-04-29  4:33                       ` Andrew Morton
2004-04-29 14:45                         ` Marc Singer
2004-04-29 16:51                     ` Andy Isaacson
2004-04-29 20:42                       ` Andrew Morton
2004-04-29 22:27                         ` Andy Isaacson
2004-04-29 23:19                           ` Andrew Morton
2004-04-30  0:14                       ` Lincoln Dale
2004-04-29  8:02                   ` Wichert Akkerman
2004-04-29 14:25                     ` Marcelo Tosatti
2004-04-29 14:27                       ` Wichert Akkerman
2004-04-29  2:41             ` Rik van Riel
2004-04-29  2:43               ` Andrew Morton
2004-04-29  1:41       ` Tim Connors
2004-04-29  9:43       ` Helge Hafting
2004-04-29 14:48         ` Marc Singer
2004-04-29  0:44   ` Brett E.
2004-04-29  1:13     ` Andrew Morton
2004-04-29  1:29       ` Brett E.
2004-04-29 18:05         ` Brett E.
2004-04-29 18:32           ` William Lee Irwin III
2004-04-29 20:47             ` Brett E.
2004-04-29  0:04 ` Brett E.
2004-04-29  0:13   ` Jeff Garzik
2004-04-29  0:43     ` Nick Piggin
2004-04-29 13:51   ` Horst von Brand
2004-04-29 18:32     ` Brett E.

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=16530.21039.756717.489879@laputa.namesys.com \
    --to=nikita@namesys.com \
    --cc=akpm@osdl.org \
    --cc=brettspamacct@fastclick.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=paulus@samba.org \
    --cc=riel@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

all inboxes | Powered by JetHome®