linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Stephen C. Tweedie" <sct@dcs.ed.ac.uk>
To: Rik van Riel <H.H.vanRiel@fys.ruu.nl>
Cc: "Stephen C. Tweedie" <sct@dcs.ed.ac.uk>,
	"Benjamin C.R. LaHaise" <blah@kvack.org>,
	Linus Torvalds <torvalds@transmeta.com>,
	Itai Nahshon <nahshon@actcom.co.il>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	paubert@iram.es, Ingo Molnar <mingo@chiara.csoma.elte.hu>,
	linux-mm@kvack.org
Subject: Re: PATCH: Swap shared pages (was: How to read-protect a vm_area?)
Date: Wed, 25 Feb 1998 19:00:56 GMT	[thread overview]
Message-ID: <199802251900.TAA00898@dax.dcs.ed.ac.uk> (raw)
In-Reply-To: <Pine.LNX.3.91.980225113925.376A-100000@mirkwood.dummy.home>

Hi,

On Wed, 25 Feb 1998 11:41:20 +0100 (MET), Rik van Riel
<H.H.vanRiel@fys.ruu.nl> said:

> On Tue, 24 Feb 1998, Stephen C. Tweedie wrote:
>> That is already scheduled as part of phase 4 of this work.  The patch I
>> have just posted is phase 2, modifying the swapper for shared pages.
>> Phase three is to implement MAP_SHARED | MAP_ANONYMOUS, and part four is
>> to do much what you describe, proactively soft-swapping data out

> Hmm, is there anything I can do to help with this

Probably not right now.  I'm probably going to swap round bits 3 and 4
of this work and defer the shared mapping, because Ben's work with
using inodes to label mm structs for anonymous maps is probably going
to be a lot better than my own plan of using a label inode per new
anonymous vma.  Ben, any thoughts about integrating this stuff or
sharing patches?  I'd like to see what you've done with this before
storming off on my own. 

> If not, I'll be working on buffer/cache memory limits
> so one file/process can't clog up all of memory (a'la
> badblocks -w), of course with DU like tunability...

Interestingly enough, the thing I wanted to do next with the VM was
similar --- implementing proper control of process RSS.  There's no
reason why we can't give big processes a smaller RSS if we start
getting memory contention, and that will let the swapper efficiently
deal with overly large processes without massively impacting the
performance of smaller processes.  Similarly, we ought to be able to
give small processes a guaranteed RSS to allow them to proceed (even
if at a reduced pace) during a swap storm.  

Doing something similar with the buffer cache will help some things a
_lot_.  Another thing to think about is to do similar tuning on the
device request lists, as I suspect that a lot of our performance /
fairness problems under high load come largely from request
starvation.  One thing I was thinking about was the possibility of
forcing processes to wait for a certain number of requests to complete
if they fill up the request queue, effectively giving them request
"credits" similar to the scheduler's credits.  This would be a simple
but probably quite effective way of making sure that processes doing
small amounts of single-block IO don't get overly starved by processes
performing large writes (such as bdflush).

Feel free to comment; I won't be working on this any time in the
immediate future...

--Stephen.

  reply	other threads:[~1998-02-25 19:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <199802192321.XAA06580@dax.dcs.ed.ac.uk>
1998-02-20  5:41 ` How to read-protect a vm_area? Benjamin C.R. LaHaise
1998-02-23 23:17   ` PATCH: Swap shared pages (was: How to read-protect a vm_area?) Stephen C. Tweedie
1998-02-23 23:27     ` Linus Torvalds
1998-02-24  0:08     ` Benjamin C.R. LaHaise
1998-02-24  9:45       ` Stephen C. Tweedie
1998-02-24  9:42     ` Rik van Riel
1998-02-24 23:38       ` Stephen C. Tweedie
1998-02-25 10:41         ` Rik van Riel
1998-02-25 19:00           ` Stephen C. Tweedie [this message]
1998-02-25 22:05             ` Rik van Riel
1998-02-24 11:16     ` Thomas Sailer
     [not found]     ` <Pine.LNX.3.96.980224152231.7112A-100000@renass3.u-strasbg.fr>
1998-02-24 23:38       ` Stephen C. Tweedie

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=199802251900.TAA00898@dax.dcs.ed.ac.uk \
    --to=sct@dcs.ed.ac.uk \
    --cc=H.H.vanRiel@fys.ruu.nl \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=blah@kvack.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@chiara.csoma.elte.hu \
    --cc=nahshon@actcom.co.il \
    --cc=paubert@iram.es \
    --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