From: Nick Piggin <nickpiggin@yahoo.com.au>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: Linus Torvalds <torvalds@osdl.org>,
Christoph Lameter <clameter@sgi.com>,
akpm@osdl.org, Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Hugh Dickins <hugh@veritas.com>,
linux-mm@kvack.org, linux-ia64@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: page fault scalability patch V11 [0/7]: overview
Date: Sat, 20 Nov 2004 14:37:04 +1100 [thread overview]
Message-ID: <419EBBE0.4010303@yahoo.com.au> (raw)
In-Reply-To: <20041120020306.GA2714@holomorphy.com>
William Lee Irwin III wrote:
> On Fri, Nov 19, 2004 at 11:59:03AM -0800, Linus Torvalds wrote:
>
>>You could also make "rss" be a _signed_ integer per-thread.
>>When unmapping a page, you decrement one of the threads that shares the mm
>>(doesn't matter which - which is why the per-thread rss may go negative),
>>and when mapping a page you increment it.
>>Then, anybody who actually wants a global rss can just iterate over
>>threads and add it all up. If you do it under the mmap_sem, it's stable,
>>and if you do it outside the mmap_sem it's imprecise but stable in the
>>long term (ie errors never _accumulate_, like the non-atomic case will
>>do).
>>Does anybody care enough? Maybe, maybe not. It certainly sounds a hell of
>>a lot better than the periodic scan.
>
>
> Unprivileged triggers for full-tasklist scans are NMI oops material.
>
Hang on, let's come back to this...
We already have unprivileged do-for-each-thread triggers in the proc
code. It's in do_task_stat, even. Rss reporting would basically just
involve one extra addition within that loop.
So... hmm, I can't see a problem with it.
next prev parent reply other threads:[~2004-11-20 3:41 UTC|newest]
Thread overview: 286+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.44.0411061527440.3567-100000@localhost.localdomain>
[not found] ` <Pine.LNX.4.58.0411181126440.30385@schroedinger.engr.sgi.com>
[not found] ` <Pine.LNX.4.58.0411181715280.834@schroedinger.engr.sgi.com>
[not found] ` <419D581F.2080302@yahoo.com.au>
[not found] ` <Pine.LNX.4.58.0411181835540.1421@schroedinger.engr.sgi.com>
[not found] ` <419D5E09.20805@yahoo.com.au>
[not found] ` <Pine.LNX.4.58.0411181921001.1674@schroedinger.engr.sgi.com>
[not found] ` <1100848068.25520.49.camel@gaston>
2004-11-19 19:42 ` page fault scalability patch V11 [0/7]: overview Christoph Lameter
2004-11-19 19:43 ` page fault scalability patch V11 [1/7]: sloppy rss Christoph Lameter
2004-11-19 20:50 ` Hugh Dickins
2004-11-20 1:29 ` Christoph Lameter
2004-11-22 15:00 ` Hugh Dickins
2004-11-22 21:50 ` deferred rss update instead of " Christoph Lameter
2004-11-22 22:11 ` Andrew Morton
2004-11-22 22:13 ` Christoph Lameter
2004-11-22 22:17 ` Benjamin Herrenschmidt
2004-11-22 22:45 ` Andrew Morton
2004-11-22 22:48 ` Christoph Lameter
2004-11-22 23:09 ` Nick Piggin
2004-11-22 23:13 ` Christoph Lameter
2004-11-22 23:16 ` Andrew Morton
2004-11-22 23:19 ` Christoph Lameter
2004-11-22 22:22 ` Linus Torvalds
2004-11-22 22:27 ` Christoph Lameter
2004-11-22 22:40 ` Linus Torvalds
2004-12-01 23:41 ` page fault scalability patch V12 [0/7]: Overview and performance tests Christoph Lameter
2004-12-01 23:42 ` page fault scalability patch V12 [1/7]: Reduce use of thepage_table_lock Christoph Lameter
2004-12-01 23:42 ` page fault scalability patch V12 [2/7]: atomic pte operations for ia64 Christoph Lameter
2004-12-01 23:43 ` page fault scalability patch V12 [3/7]: universal cmpxchg for i386 Christoph Lameter
2004-12-01 23:43 ` page fault scalability patch V12 [4/7]: atomic pte operations " Christoph Lameter
2004-12-01 23:44 ` page fault scalability patch V12 [5/7]: atomic pte operations for x86_64 Christoph Lameter
2004-12-01 23:45 ` page fault scalability patch V12 [6/7]: atomic pte operations for s390 Christoph Lameter
2004-12-01 23:45 ` page fault scalability patch V12 [7/7]: Split counter for rss Christoph Lameter
2005-01-04 19:35 ` page fault scalability patch V14 [0/7]: Overview Christoph Lameter
2005-01-04 19:35 ` page fault scalability patch V14 [1/7]: Avoid taking page_table_lock Christoph Lameter
2005-01-04 19:36 ` page fault scalability patch V14 [2/7]: ia64 atomic pte operations Christoph Lameter
2005-01-04 19:37 ` page fault scalability patch V14 [3/7]: i386 universal cmpxchg Christoph Lameter
2005-01-05 11:51 ` Roman Zippel
2005-01-04 19:37 ` page fault scalability patch V14 [4/7]: i386 atomic pte operations Christoph Lameter
2005-01-04 19:38 ` page fault scalability patch V14 [5/7]: x86_64 " Christoph Lameter
2005-01-04 19:46 ` Andi Kleen
2005-01-04 19:58 ` Christoph Lameter
2005-01-04 20:21 ` Andi Kleen
2005-01-04 20:32 ` Christoph Lameter
2005-01-11 17:39 ` page table lock patch V15 [0/7]: overview Christoph Lameter
2005-01-11 17:40 ` page table lock patch V15 [1/7]: Reduce use of page table lock Christoph Lameter
2005-01-11 17:41 ` page table lock patch V15 [2/7]: ia64 atomic pte operations Christoph Lameter
2005-01-11 17:41 ` page table lock patch V15 [3/7]: i386 universal cmpxchg Christoph Lameter
2005-01-11 17:42 ` page table lock patch V15 [4/7]: i386 atomic pte operations Christoph Lameter
2005-01-11 17:43 ` page table lock patch V15 [5/7]: x86_64 " Christoph Lameter
2005-01-11 17:43 ` page table lock patch V15 [6/7]: s390 " Christoph Lameter
2005-01-11 17:44 ` page table lock patch V15 [7/7]: Split RSS counter Christoph Lameter
2005-01-12 5:59 ` page table lock patch V15 [0/7]: overview Nick Piggin
2005-01-12 9:42 ` Andrew Morton
2005-01-12 12:29 ` Marcelo Tosatti
2005-01-12 12:43 ` Hugh Dickins
2005-01-12 21:22 ` Hugh Dickins
2005-01-12 23:52 ` Christoph Lameter
2005-01-13 2:52 ` Hugh Dickins
2005-01-13 17:05 ` Christoph Lameter
2005-01-12 16:39 ` Christoph Lameter
2005-01-12 16:49 ` Christoph Hellwig
2005-01-12 17:37 ` Christoph Lameter
2005-01-12 17:41 ` Christoph Hellwig
2005-01-12 17:52 ` Christoph Lameter
2005-01-12 18:04 ` Christoph Hellwig
2005-01-12 18:20 ` Andrew Walrond
2005-01-12 18:43 ` Andrew Morton
2005-01-12 19:06 ` Christoph Lameter
2005-01-14 3:39 ` Roman Zippel
2005-01-14 4:14 ` Andi Kleen
2005-01-14 12:02 ` Roman Zippel
2005-01-12 23:16 ` Nick Piggin
2005-01-12 23:30 ` Andrew Morton
2005-01-12 23:50 ` Nick Piggin
2005-01-12 23:54 ` Christoph Lameter
2005-01-13 0:10 ` Nick Piggin
2005-01-13 0:16 ` Christoph Lameter
2005-01-13 0:42 ` Nick Piggin
2005-01-13 22:19 ` Peter Chubb
2005-01-13 3:18 ` Andi Kleen
2005-01-13 17:11 ` Christoph Lameter
2005-01-13 17:25 ` Linus Torvalds
2005-01-13 18:02 ` Andi Kleen
2005-01-13 18:16 ` Christoph Lameter
2005-01-13 20:17 ` Andi Kleen
2005-01-14 1:09 ` Christoph Lameter
2005-01-14 4:39 ` Andi Kleen
2005-01-14 4:52 ` page table lock patch V15 [0/7]: overview II Andi Kleen
2005-01-14 4:59 ` Nick Piggin
2005-01-14 10:47 ` Andi Kleen
2005-01-14 10:57 ` Nick Piggin
2005-01-14 11:11 ` Andi Kleen
2005-01-14 16:57 ` Christoph Lameter
2005-01-14 4:54 ` page table lock patch V15 [0/7]: overview Nick Piggin
2005-01-14 10:46 ` Andi Kleen
2005-01-14 16:52 ` Christoph Lameter
2005-01-14 17:01 ` Andi Kleen
2005-01-14 17:08 ` Christoph Lameter
2005-01-14 17:11 ` Andi Kleen
2005-01-14 17:43 ` Linus Torvalds
2005-01-28 20:35 ` page fault scalability patch V16 [0/4]: redesign overview Christoph Lameter
2005-01-28 20:36 ` page fault scalability patch V16 [1/4]: avoid intermittent clearing of ptes Christoph Lameter
2005-01-28 20:36 ` page fault scalability patch V16 [2/4]: mm counter macros Christoph Lameter
2005-01-28 20:37 ` page fault scalability patch V16 [3/4]: Drop page_table_lock in handle_mm_fault Christoph Lameter
2005-02-01 4:08 ` Nick Piggin
2005-02-01 18:47 ` Christoph Lameter
2005-02-01 19:01 ` Christoph Lameter
2005-02-02 0:31 ` Nick Piggin
2005-02-02 1:20 ` Christoph Lameter
2005-02-02 1:41 ` Nick Piggin
2005-02-02 2:49 ` Christoph Lameter
2005-02-02 3:09 ` Nick Piggin
2005-02-04 6:27 ` Nick Piggin
2005-02-17 0:57 ` page fault scalability patchsets update: prezeroing, prefaulting and atomic operations Christoph Lameter
2005-02-24 6:04 ` A Proposal for an MMU abstraction layer Christoph Lameter
2005-02-01 4:16 ` page fault scalability patch V16 [3/4]: Drop page_table_lock in handle_mm_fault Nick Piggin
2005-02-01 8:20 ` Kernel 2.4.21 hangs up baswaraj kasture
2005-02-01 8:35 ` Arjan van de Ven
2005-02-01 9:03 ` Christian Hildner
2005-02-07 6:14 ` Kernel 2.4.21 gives kernel panic at boot time baswaraj kasture
2005-02-01 17:46 ` Kernel 2.4.21 hangs up David Mosberger
2005-02-01 17:54 ` Markus Trippelsdorf
2005-02-01 18:08 ` David Mosberger
2005-02-01 18:44 ` page fault scalability patch V16 [3/4]: Drop page_table_lock in handle_mm_fault Christoph Lameter
2005-01-28 20:38 ` page fault scalability patch V16 [4/4]: Drop page_table_lock in do_anonymous_page Christoph Lameter
2005-01-13 3:09 ` page table lock patch V15 [0/7]: overview Hugh Dickins
2005-01-13 3:46 ` Nick Piggin
2005-01-13 17:14 ` Christoph Lameter
2005-01-04 21:21 ` page fault scalability patch V14 [5/7]: x86_64 atomic pte operations Brian Gerst
2005-01-04 21:26 ` Christoph Lameter
2005-01-04 19:38 ` page fault scalability patch V14 [6/7]: s390 atomic pte operationsw Christoph Lameter
2005-01-04 19:39 ` page fault scalability patch V14 [7/7]: Split RSS counters Christoph Lameter
2004-12-02 0:10 ` page fault scalability patch V12 [0/7]: Overview and performance tests Linus Torvalds
2004-12-02 0:55 ` Andrew Morton
2004-12-02 1:46 ` Christoph Lameter
2004-12-02 6:21 ` Jeff Garzik
2004-12-02 6:34 ` Andrew Morton
2004-12-02 6:48 ` Jeff Garzik
2004-12-02 7:02 ` Andrew Morton
2004-12-02 7:26 ` Martin J. Bligh
2004-12-02 7:31 ` Jeff Garzik
2004-12-02 18:10 ` cliff white
2004-12-02 18:17 ` Gerrit Huizenga
2004-12-02 20:25 ` linux-os
2004-12-08 17:24 ` Anticipatory prefaulting in the page fault handler V1 Christoph Lameter
2004-12-08 17:33 ` Jesse Barnes
2004-12-08 17:56 ` Christoph Lameter
2004-12-08 18:33 ` Jesse Barnes
2004-12-08 21:26 ` David S. Miller
2004-12-08 21:42 ` Linus Torvalds
2004-12-08 17:55 ` Dave Hansen
2004-12-08 19:07 ` Martin J. Bligh
2004-12-08 22:50 ` Martin J. Bligh
2004-12-09 19:32 ` Christoph Lameter
2004-12-10 2:13 ` [OT:HUMOR] " Adam Heath
2004-12-13 14:30 ` Akinobu Mita
2004-12-13 17:10 ` Christoph Lameter
2004-12-13 22:16 ` Martin J. Bligh
2004-12-14 1:32 ` Anticipatory prefaulting in the page fault handler V2 Christoph Lameter
2004-12-14 19:31 ` Adam Litke
2004-12-15 19:03 ` Anticipatory prefaulting in the page fault handler V3 Christoph Lameter
2005-01-05 0:29 ` Anticipatory prefaulting in the page fault handler V4 Christoph Lameter
2004-12-14 12:24 ` Anticipatory prefaulting in the page fault handler V1 Akinobu Mita
2004-12-14 15:25 ` Akinobu Mita
2004-12-14 20:25 ` Christoph Lameter
2004-12-09 10:57 ` Pavel Machek
2004-12-09 11:32 ` Nick Piggin
2004-12-09 17:05 ` Christoph Lameter
2004-12-14 15:28 ` Adam Litke
2004-12-02 18:43 ` page fault scalability patch V12 [0/7]: Overview and performance tests cliff white
2004-12-06 19:33 ` Marcelo Tosatti
2004-12-02 16:24 ` Gerrit Huizenga
2004-12-02 17:34 ` cliff white
2004-12-02 19:48 ` Diego Calleja
2004-12-02 20:12 ` Jeff Garzik
2004-12-02 20:30 ` Diego Calleja
2004-12-02 21:08 ` Wichert Akkerman
2004-12-03 0:07 ` Francois Romieu
2004-12-02 7:00 ` Jeff Garzik
2004-12-02 7:05 ` Benjamin Herrenschmidt
2004-12-02 7:11 ` Jeff Garzik
2004-12-02 11:16 ` Benjamin Herrenschmidt
2004-12-02 14:30 ` Andy Warner
2005-01-06 23:40 ` Jeff Garzik
2004-12-02 18:27 ` Grant Grundler
2004-12-02 18:33 ` Andrew Morton
2004-12-02 18:36 ` Christoph Hellwig
2004-12-07 10:51 ` Pavel Machek
2004-12-09 8:00 ` Nick Piggin
2004-12-09 17:03 ` Christoph Lameter
2004-12-10 4:30 ` Nick Piggin
2004-12-09 18:37 ` Hugh Dickins
2004-12-09 22:02 ` page fault scalability patch V12: rss tasklist vs sloppy rss Christoph Lameter
2004-12-09 22:52 ` Andrew Morton
2004-12-09 22:52 ` William Lee Irwin III
2004-12-09 23:07 ` Christoph Lameter
2004-12-09 23:29 ` William Lee Irwin III
2004-12-09 23:49 ` Christoph Lameter
2004-12-10 4:26 ` page fault scalability patch V12 [0/7]: Overview and performance tests Nick Piggin
2004-12-10 4:54 ` Nick Piggin
2004-12-10 5:06 ` Benjamin Herrenschmidt
2004-12-10 5:19 ` Nick Piggin
2004-12-10 12:30 ` Hugh Dickins
2004-12-10 18:43 ` Christoph Lameter
2004-12-10 21:43 ` Hugh Dickins
2004-12-10 22:12 ` Andrew Morton
2004-12-10 23:52 ` Hugh Dickins
2004-12-11 0:18 ` Andrew Morton
2004-12-11 0:44 ` Hugh Dickins
2004-12-11 0:57 ` Andrew Morton
2004-12-11 9:23 ` Hugh Dickins
2004-12-12 7:54 ` Nick Piggin
2004-12-12 9:33 ` Hugh Dickins
2004-12-12 9:48 ` Nick Piggin
2004-12-12 21:24 ` William Lee Irwin III
2004-12-17 3:31 ` Christoph Lameter
2004-12-17 3:32 ` page fault scalability patch V13 [0/8]: Overview Christoph Lameter
2004-12-17 3:33 ` page fault scalability patch V13 [1/8]: Reduce the use of the page_table_lock Christoph Lameter
2004-12-17 3:33 ` page fault scalability patch V13 [2/8]: ia64 atomic pte operations Christoph Lameter
2004-12-17 3:34 ` page fault scalability patch V13 [3/8]: universal cmpxchg for i386 Christoph Lameter
2004-12-17 3:35 ` page fault scalability patch V13 [4/8]: atomic pte operations " Christoph Lameter
2004-12-17 3:36 ` page fault scalability patch V13 [5/8]: atomic pte operations for AMD64 Christoph Lameter
2004-12-17 3:38 ` page fault scalability patch V13 [7/8]: Split RSS Christoph Lameter
2004-12-17 3:39 ` page fault scalability patch V13 [8/8]: Prefaulting using ptep_cmpxchg Christoph Lameter
2004-12-17 5:55 ` page fault scalability patch V13 [0/8]: Overview Christoph Lameter
2004-12-10 20:03 ` pfault V12 : correction to tasklist rss Christoph Lameter
2004-12-10 21:24 ` Hugh Dickins
2004-12-10 21:38 ` Andrew Morton
2004-12-11 6:03 ` William Lee Irwin III
2004-11-22 22:32 ` deferred rss update instead of sloppy rss Nick Piggin
2004-11-22 22:39 ` Christoph Lameter
2004-11-22 23:14 ` Nick Piggin
2004-11-19 19:44 ` page fault scalability patch V11 [2/7]: page fault handler optimizations Christoph Lameter
2004-11-19 19:44 ` page fault scalability patch V11 [3/7]: ia64 atomic pte operations Christoph Lameter
2004-11-19 19:45 ` page fault scalability patch V11 [4/7]: universal cmpxchg for i386 Christoph Lameter
2004-11-19 19:46 ` page fault scalability patch V11 [5/7]: i386 atomic pte operations Christoph Lameter
2004-11-19 19:46 ` page fault scalability patch V11 [6/7]: x86_64 " Christoph Lameter
2004-11-19 19:47 ` page fault scalability patch V11 [7/7]: s390 " Christoph Lameter
2004-11-19 19:59 ` page fault scalability patch V11 [0/7]: overview Linus Torvalds
2004-11-20 1:07 ` Nick Piggin
2004-11-20 1:29 ` Christoph Lameter
2004-11-20 1:45 ` Nick Piggin
2004-11-20 1:58 ` Linus Torvalds
2004-11-20 2:06 ` Linus Torvalds
2004-11-20 1:56 ` Linus Torvalds
2004-11-22 18:06 ` Bill Davidsen
2004-11-20 2:03 ` William Lee Irwin III
2004-11-20 2:25 ` Nick Piggin
2004-11-20 2:41 ` William Lee Irwin III
2004-11-20 2:46 ` Nick Piggin
2004-11-20 3:37 ` Nick Piggin [this message]
2004-11-20 3:55 ` William Lee Irwin III
2004-11-20 4:03 ` Nick Piggin
2004-11-20 4:06 ` Nick Piggin
2004-11-20 4:23 ` William Lee Irwin III
2004-11-20 4:29 ` Nick Piggin
2004-11-20 5:38 ` William Lee Irwin III
2004-11-20 5:50 ` Nick Piggin
2004-11-20 6:23 ` William Lee Irwin III
2004-11-20 6:49 ` Nick Piggin
2004-11-20 6:57 ` Andrew Morton
2004-11-20 7:04 ` Andrew Morton
2004-11-20 7:13 ` Nick Piggin
2004-11-20 8:00 ` William Lee Irwin III
2004-11-20 16:59 ` Martin J. Bligh
2004-11-20 17:14 ` Linus Torvalds
2004-11-20 19:08 ` William Lee Irwin III
2004-11-20 19:16 ` Linus Torvalds
2004-11-20 19:33 ` William Lee Irwin III
2004-11-22 17:44 ` Christoph Lameter
2004-11-22 22:43 ` William Lee Irwin III
2004-11-22 22:51 ` Christoph Lameter
2004-11-23 2:25 ` William Lee Irwin III
2004-11-20 20:25 ` [OT] " Adam Heath
2004-11-20 7:15 ` William Lee Irwin III
2004-11-20 7:29 ` Nick Piggin
2004-11-20 7:45 ` touch_nmi_watchdog (was: page fault scalability patch V11 [0/7]: overview) Nick Piggin
2004-11-20 7:57 ` page fault scalability patch V11 [0/7]: overview Nick Piggin
2004-11-20 8:25 ` William Lee Irwin III
2004-11-20 2:04 ` William Lee Irwin III
2004-11-20 2:18 ` Nick Piggin
2004-11-20 2:34 ` William Lee Irwin III
2004-11-20 2:40 ` Nick Piggin
2004-11-20 3:04 ` William Lee Irwin III
2004-11-20 3:14 ` Nick Piggin
2004-11-20 3:43 ` William Lee Irwin III
2004-11-20 3:58 ` Nick Piggin
2004-11-20 4:01 ` William Lee Irwin III
2004-11-20 4:34 ` Robin Holt
2004-11-20 3:33 ` Robin Holt
2004-11-20 4:24 ` William Lee Irwin III
2004-11-20 2:06 ` Robin Holt
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=419EBBE0.4010303@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=benh@kernel.crashing.org \
--cc=clameter@sgi.com \
--cc=hugh@veritas.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=torvalds@osdl.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;
as well as URLs for NNTP newsgroup(s).