From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: Hugh Dickins <hugh@veritas.com>,
rlrevell@joe-job.com, mingo@elte.hu,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fix free swap cache latency
Date: Fri, 17 Mar 2006 13:52:26 +1100 [thread overview]
Message-ID: <441A246A.4090208@yahoo.com.au> (raw)
In-Reply-To: <20060316173808.3be343b0.akpm@osdl.org>
Andrew Morton wrote:
> Hugh Dickins <hugh@veritas.com> wrote:
>
>> (*zap_work)--;
>> continue;
>> }
>>+
>>+ (*zap_work) -= PAGE_SIZE;
>
>
> Sometimes we subtract 1 from zap_work, sometimes PAGE_SIZE. It's in units
> of bytes, so PAGE_SIZE is correct. Although it would make sense to
> redefine it to be in units of PAGE_SIZE. What's up with that?
>
Subtracting 1 if there is no work to do for that cacheline entry.
> Even better, define it in units of "approximate number of touched
> cachelines". After all, it is a sort-of-time-based thing.
>
Yeah that was the rough intention, but I never actually measured
to see whether the results were right.
The pte_none case touches about 1/32 of a cacheline on my P4
(add a bit for setup costs, subtract a bit for linear prefetchable
access over multiple lines).
pte_present touches the pte, the page once or twice -- first
directly, then from mmu gather, the vma and the mapping (mostly be
the same though so cost is small), a whole host of locks and atomic
operations (put_page_testzero, lru_lock, tree_lock, page_remove_rmap,
zone->lock), an IPI to other CPUs, tlb invalidates etc. some things
batched, some not.
So it gets hard to count, especially if you have other CPUs contending
the same locks. I suspect the per-page cost is not really 128 cache
misses most of the time, but it was just a number I pulled out. Anyone
can feel free to turn the knob if they feel they have a better idea.
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-03-17 2:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-16 19:11 [PATCH] fix free swap cache latency Hugh Dickins
2006-03-16 22:07 ` Ingo Molnar
2006-03-17 1:38 ` Andrew Morton
2006-03-17 2:52 ` Nick Piggin [this message]
2006-03-17 17:55 ` Hugh Dickins
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=441A246A.4090208@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.