From: Rik van Riel <riel@conectiva.com.br>
To: Andrew Morton <akpm@zip.com.au>
Cc: William Lee Irwin III <wli@holomorphy.com>,
Dave McCracken <dmccr@us.ibm.com>,
Linux Memory Management <linux-mm@kvack.org>
Subject: Re: [PATCH] Optimize out pte_chain take three
Date: Thu, 11 Jul 2002 18:41:27 -0300 (BRT) [thread overview]
Message-ID: <Pine.LNX.4.44L.0207111837060.14432-100000@imladris.surriel.com> (raw)
In-Reply-To: <3D2DF5CB.471024F9@zip.com.au>
On Thu, 11 Jul 2002, Andrew Morton wrote:
> Rik van Riel wrote:
> > > I looked at 2.4-ac as well. Seems that the dropbehind there only
> > > addresses reads?
> >
> > It should also work on linear writes.
>
> The only call site for drop_behind() in -ac is generic_file_readahead().
generic_file_write() calls deactivate_page() if it crosses
the page boundary (ie. if it is done writing this page)
> > > I suspect the best fix here is to not have dirty or writeback
> > > pagecache pages on the LRU at all. Throttle on memory coming
> > > reclaimable, put the pages back on the LRU when they're clean,
> > > etc. As we have often discussed. Big change.
> >
> > That just doesn't make sense, if you don't put the dirty pages
> > on the LRU then what incentive _do_ you have to write them out ?
>
> We have dirty page accounting. If the page reclaim code decides
> there's too much dirty memory then kick pdflush, and sleep on
> IO completion's movement of reclaimable pages back onto the LRU.
At what point in the LRU ?
Are you proposing to reclaim free pages before considering
dirty pages ?
> Making page reclaimers perform writeback in shrink_cache()
> just has awful latency problems. If we don't do that then
> there's just no point in keeping those pages on the LRU
> because all we do is scan past them and blow cycles.
Why does it have latency problems ?
Keeping them on the LRU _does_ make sense since we know
when we want to evict these pages. Putting them aside
on a laundry list might make sense though, provided that
they are immediately made a candidate for replacement
after IO completion.
> > ...
> > If the throttling is wrong, I propose we fix the trottling.
>
> How? (Without adding more list scanning)
For one, we shouldn't let every process go into
try_to_free_pages() and check for itself if the
pages really aren't freeable.
It is enough if one thread (kswapd) does this,
scanning more often won't change the status of
the pages.
regards,
Rik
--
Bravely reimplemented by the knights who say "NIH".
http://www.surriel.com/ http://distro.conectiva.com/
--
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-mm.org/
next prev parent reply other threads:[~2002-07-11 21:41 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-09 19:04 [PATCH] Optimize out pte_chain take two Dave McCracken
2002-07-10 0:21 ` Andrew Morton
2002-07-10 14:33 ` [PATCH] Optimize out pte_chain take three Dave McCracken
2002-07-10 15:18 ` Rik van Riel
2002-07-10 17:32 ` William Lee Irwin III
2002-07-10 20:01 ` Andrew Morton
2002-07-10 20:14 ` Rik van Riel
2002-07-10 20:28 ` Andrew Morton
2002-07-10 20:38 ` Rik van Riel
2002-07-13 13:42 ` Daniel Phillips
2002-07-10 20:33 ` Martin J. Bligh
2002-07-10 22:22 ` William Lee Irwin III
2002-07-11 0:39 ` Andrew Morton
2002-07-11 0:47 ` Rik van Riel
2002-07-11 1:27 ` Andrew Morton
2002-07-13 14:10 ` Daniel Phillips
2002-07-11 1:51 ` William Lee Irwin III
2002-07-11 2:28 ` William Lee Irwin III
2002-07-11 19:54 ` Andrew Morton
2002-07-11 20:05 ` Rik van Riel
2002-07-11 20:42 ` Andrew Morton
2002-07-11 20:54 ` Rik van Riel
2002-07-11 21:16 ` Andrew Morton
2002-07-11 21:41 ` Rik van Riel [this message]
2002-07-11 22:38 ` Andrew Morton
2002-07-11 23:18 ` Rik van Riel
2002-07-12 18:27 ` Paul Larson
2002-07-12 19:06 ` Andrew Morton
2002-07-12 19:28 ` Andrew Morton
2002-07-13 15:08 ` Daniel Phillips
2002-07-11 22:54 ` William Lee Irwin III
2002-07-13 14:52 ` Daniel Phillips
2002-07-13 14:08 ` Daniel Phillips
2002-07-13 14:20 ` Daniel Phillips
2002-07-13 14:45 ` Daniel Phillips
2002-07-13 13:22 ` Daniel Phillips
2002-07-13 13:30 ` William Lee Irwin III
2002-07-13 13:55 ` Daniel Phillips
2002-07-13 13:41 ` Daniel Phillips
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.LNX.4.44L.0207111837060.14432-100000@imladris.surriel.com \
--to=riel@conectiva.com.br \
--cc=akpm@zip.com.au \
--cc=dmccr@us.ibm.com \
--cc=linux-mm@kvack.org \
--cc=wli@holomorphy.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