From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Hugh Dickins <hugh@veritas.com>
Cc: Lee Revell <rlrevell@joe-job.com>, Ingo Molnar <mingo@elte.hu>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.16-rc1: 28ms latency when process with lots of swapped memory exits
Date: Wed, 15 Mar 2006 22:19:04 +1100 [thread overview]
Message-ID: <4417F828.1070605@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.61.0603150721040.9086@goblin.wat.veritas.com>
Hugh Dickins wrote:
> Oh, thank you for forcing me to take another look, 2.6.15 did make a
> regression there, and this one is very simply remedied: Lee, please
> try the patch below (I've done it against 2.6.16-rc6 because that's
> what I have to hand; and would be a better tree for you to test),
> and let us know if it fixes your case as I expect - thanks.
>
> (Robin Holt observed how inefficient the small ZAP_BLOCK_SIZE was on
> very sparse mmaps, as originally implemented; so he and Nick reworked
> it to count only real work done; but the swap entries got put on the
> side of "no real work", whereas you've found they may involve very
> significant work. My patch below reverses that: yes, I've got some
> other cases now going the slow way when they needn't, but they're
> too rare to clutter the code for.)
>
I think this patch looks good, thanks Hugh.
> Hugh
>
> --- 2.6.16-rc6/mm/memory.c 2006-03-12 15:25:45.000000000 +0000
> +++ linux/mm/memory.c 2006-03-15 07:32:36.000000000 +0000
> @@ -623,11 +623,12 @@ static unsigned long zap_pte_range(struc
> (*zap_work)--;
> continue;
> }
> +
> + (*zap_work) -= PAGE_SIZE;
> +
> if (pte_present(ptent)) {
> struct page *page;
>
> - (*zap_work) -= PAGE_SIZE;
> -
> page = vm_normal_page(vma, addr, ptent);
> if (unlikely(details) && page) {
> /*
>
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-03-15 11:19 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-14 16:15 2.6.16-rc1: 28ms latency when process with lots of swapped memory exits Lee Revell
2006-03-14 18:40 ` Hugh Dickins
2006-03-14 19:05 ` Lee Revell
2006-03-14 21:01 ` Ingo Molnar
2006-03-14 22:38 ` Lee Revell
2006-03-15 7:52 ` Hugh Dickins
2006-03-15 11:19 ` Nick Piggin [this message]
2006-03-14 21:22 ` Ingo Molnar
2006-03-14 22:12 ` Lee Revell
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=4417F828.1070605@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rlrevell@joe-job.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