From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: miquels@cistron.nl, linux-mm@kvack.org
Subject: Re: Keeping mmap'ed files in core regression in 2.6.7-rc
Date: Wed, 16 Jun 2004 14:41:08 +1000 [thread overview]
Message-ID: <40CFCF64.9010406@yahoo.com.au> (raw)
In-Reply-To: <20040615212336.17d0a396.akpm@osdl.org>
Andrew Morton wrote:
> Nick Piggin <nickpiggin@yahoo.com.au> wrote:
>
>>>shrink_zone() will free arbitrarily large amounts of memory as the scanning
>>>priority increases. Probably it shouldn't.
>>>
>>>
>>
>>Especially for kswapd, I think, because it can end up fighting with
>>memory allocators and think it is getting into trouble. It should
>>probably rather just keep putting along quietly.
>>
>>I have a few experimental patches that magnify this problem, so I'll
>>be looking at fixing it soon. The tricky part will be trying to
>>maintain a similar prev_priority / temp_priority balance.
>
>
> hm, I don't see why. Why not simply bale from shrink_listing as soon as
> we've reclaimed SWAP_CLUSTER_MAX pages?
>
Oh yeah, that would be the way to go about it. Your patch looks
alright as a platform to do achieve this.
> I got bored of shrink_zone() bugs and rewrote it again yesterday. Haven't
> tested it much. I really hate struct scan_control btw ;)
>
Well I can keep it local here. I have some stuff which requires more
things to be passed up and down the call chains which gets annoying
passing lots of things by reference.
>
>
>
> We've been futzing with the scan rates of the inactive and active lists far
> too much, and it's still not right (Anton reports interrupt-off times of over
> a second).
>
> - We have this logic in there from 2.4.early (at least) which tries to keep
> the inactive list 1/3rd the size of the active list. Or something.
>
> I really cannot see any logic behind this, so toss it out and change the
> arithmetic in there so that all pages on both lists have equal scan rates.
>
I think it is somewhat to do with use-once logic. If your inactive list
remains full of use-once pages, you can happily scan them while putting
minimal pressure on the active list.
I don't think we need to try to keep it *at least* 1/3rd the size anymore.
From distant memory, that may have been when the inactive list was more
of a "writeout queue". I don't know though, it might still be useful.
> - Chunk the work up so we never hold interrupts off for more that 32 pages
> worth of scanning.
>
Yeah this was a bit silly. Good fix.
> - Make the per-zone scan-count accumulators unsigned long rather than
> atomic_t.
>
> Mainly because atomic_t's could conceivably overflow, but also because
> access to these counters is racy-by-design anyway.
>
Seems OK other than my one possible issue.
--
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/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2004-06-16 4:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-08 14:29 Miquel van Smoorenburg
2004-06-12 6:56 ` Nick Piggin
2004-06-14 14:06 ` Miquel van Smoorenburg
2004-06-15 3:03 ` Nick Piggin
2004-06-15 14:31 ` Miquel van Smoorenburg
2004-06-16 3:16 ` Nick Piggin
2004-06-16 3:50 ` Andrew Morton
2004-06-16 4:03 ` Nick Piggin
2004-06-16 4:23 ` Andrew Morton
2004-06-16 4:41 ` Nick Piggin [this message]
2004-06-17 10:50 ` Miquel van Smoorenburg
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=40CFCF64.9010406@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-mm@kvack.org \
--cc=miquels@cistron.nl \
/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