linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Chuck Lever <cel@monkey.org>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: James Manning <jmm@computer.org>, linux-mm@kvack.org
Subject: Re: a plea for mincore()/madvise()
Date: Fri, 10 Mar 2000 18:41:47 -0500 (EST)	[thread overview]
Message-ID: <Pine.BSO.4.10.10003101825170.10894-100000@funky.monkey.org> (raw)
In-Reply-To: <Pine.LNX.4.10.10003101340130.11037-100000@penguin.transmeta.com>

On Fri, 10 Mar 2000, Linus Torvalds wrote:
> What I meant is really that the different "advices" are totally different.
> MADV_DONTNEED is an operation that probably walks the page tables and just
> throws the pages out (or just marks them old and uniniteresting).
> Similarly MADV_WILLNEED implies more of a "start doing something now" kind
> of thing. Neither would be flags in vma->vm_flags, because neither of them
> are really all that much of a "save this state for future behaviour" kind
> of thing.
> 
> In contrast, MADV_RANDOM is a flag that you'd set in vma->vm_flags, and
> would tell the page-in logic to not pre-fetch, because it doesn't pay off.
> And MADV_SEQUENTIAL would probably tell the page-in logic to pre-fetch
> very aggressively.

ja, that's exactly what my patch does.  i'm still not sure what you don't
like about it.  i'm happy to make it do anything you want, but it sounds
like we are in agreement here.

my only sticking point is that i'm not sure what community consensus there
is about MADV_DONTNEED.  i'd like to create a patch that implements
everything except MADV_DONTNEED, then maybe we should have more discussion
about exactly how that will work and add it later.

> The mprotect() routines that walk the page tables makes sense for
> MADV_DONTNEED and MADV_WILLNEED. It makes no sense at all for MADV_RANDOM
> and MADV_SEQUENTIAL, other than the actual vma _splitting_ part (as
> opposed to the actual page table walking part).

> See? I don't think the different advices are really comparable. It's
> different cases.

no argument from me, dude.  i was under the impression that mprotect only
modifies the vmflags, which is why i considered it useful for
random/sequential/normal.  haven't looked too closely at mprotect, though.

	- Chuck Lever
--
corporate:	<chuckl@netscape.com>
personal:	<chucklever@netscape.net> or <cel@monkey.org>

The Linux Scalability project:
	http://www.citi.umich.edu/projects/linux-scalability/

--
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-03-10 23:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20000310152650.A14388@nina.pagesz.net>
2000-03-10 21:13 ` Linus Torvalds
2000-03-10 21:36   ` Chuck Lever
2000-03-10 21:46     ` Linus Torvalds
2000-03-10 23:41       ` Chuck Lever [this message]
2000-03-11  0:14         ` Linus Torvalds
2000-03-11  0:39           ` Chuck Lever
2000-03-11 14:14             ` Christoph Rohland
2000-03-13  8:43               ` Richard Guenther
2000-03-13 16:03             ` Stephen C. Tweedie
2000-03-13 17:20               ` Chuck Lever

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.BSO.4.10.10003101825170.10894-100000@funky.monkey.org \
    --to=cel@monkey.org \
    --cc=jmm@computer.org \
    --cc=linux-mm@kvack.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