From: Andrea Arcangeli <andrea@suse.de>
To: David Miller <davem@davemloft.net>
Cc: torvalds@linux-foundation.org, npiggin@suse.de, hugh@veritas.com,
akpm@linux-foundation.org, linux-mm@kvack.org, tee@sgi.com,
holt@sgi.com, linux-kernel@vger.kernel.org
Subject: Re: [rfc] no ZERO_PAGE?
Date: Thu, 5 Apr 2007 07:23:36 +0200 [thread overview]
Message-ID: <20070405052336.GQ19587@v2.random> (raw)
In-Reply-To: <20070404.131111.62667528.davem@davemloft.net>
On Wed, Apr 04, 2007 at 01:11:11PM -0700, David S. Miller wrote:
> If we're going to consider this seriously, there is a case I know of.
> Look at flush_dcache_page()'s test for ZERO_PAGE() on sparc64, there
> is an instructive comment:
>
> /* Do not bother with the expensive D-cache flush if it
> * is merely the zero page. The 'bigcore' testcase in GDB
> * causes this case to run millions of times.
> */
> if (page == ZERO_PAGE(0))
> return;
>
> basically what the GDB test case does it mmap() an enormous anonymous
> area, not touch it, then dump core.
>
> As I understand the patch being considered to remove ZERO_PAGE(), this
> kind of core dump will cause a lot of pages to be allocated, probably
> eating up a lot of system time as well as memory.
Well, if we leave the zero page in because there may be too many apps
to optimize, we still have to fix the zero page handling. Current code
is far from ideal. Currently the zero page scales worse than
no-zero-page, at the very least all the page count/mapcount
increase/decrease at every map-in/zap must be dropped from memory.c,
otherwise two totally unrelated gdb running at the same time (or gdb
at the same time of fortran, or two unrelated fortran apps) will badly
trash over the zero page reference counting.
Besides the backwards compatibility argument with gdb or similar apps
I doubt the zero page is a really worthwhile optimization and I guess
we'd be better off if it never existed.
--
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:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-04-05 5:23 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-29 7:58 [rfc][patch 1/2] mm: dont account ZERO_PAGE Nick Piggin
2007-03-29 7:58 ` [rfc][patch 2/2] mips: reinstate move_pte Nick Piggin
2007-03-29 17:49 ` Linus Torvalds
2007-03-29 13:10 ` [rfc][patch 1/2] mm: dont account ZERO_PAGE Hugh Dickins
2007-03-30 1:46 ` Nick Piggin
2007-03-30 2:59 ` Robin Holt
2007-03-30 3:09 ` Nick Piggin
2007-03-30 9:23 ` Robin Holt
2007-03-30 2:40 ` Nick Piggin
2007-04-04 3:37 ` [rfc] no ZERO_PAGE? Nick Piggin
2007-04-04 9:45 ` Hugh Dickins
2007-04-04 10:24 ` Nick Piggin
2007-04-04 12:27 ` Andrea Arcangeli
2007-04-04 13:55 ` Dan Aloni
2007-04-04 14:14 ` Andrea Arcangeli
2007-04-04 14:44 ` Dan Aloni
2007-04-04 15:03 ` Hugh Dickins
2007-04-04 15:34 ` Andrea Arcangeli
2007-04-04 15:41 ` Hugh Dickins
2007-04-04 16:07 ` Andrea Arcangeli
2007-04-04 16:14 ` Linus Torvalds
2007-04-04 15:27 ` Andrea Arcangeli
2007-04-04 16:15 ` Dan Aloni
2007-04-04 16:48 ` Andrea Arcangeli
2007-04-04 12:45 ` Hugh Dickins
2007-04-04 13:05 ` Andrea Arcangeli
2007-04-04 13:32 ` Hugh Dickins
2007-04-04 13:40 ` Andrea Arcangeli
2007-04-04 15:35 ` Linus Torvalds
2007-04-04 15:48 ` Andrea Arcangeli
2007-04-04 16:09 ` Linus Torvalds
2007-04-04 16:23 ` Andrea Arcangeli
2007-04-04 16:10 ` Hugh Dickins
2007-04-04 16:31 ` Andrea Arcangeli
2007-04-04 22:07 ` Valdis.Kletnieks
2007-04-04 16:32 ` Eric Dumazet
2007-04-04 17:02 ` Linus Torvalds
2007-04-04 19:15 ` Andrew Morton
2007-04-04 20:11 ` David Miller, Linus Torvalds
2007-04-04 20:50 ` Andrew Morton
2007-04-05 2:03 ` Nick Piggin
2007-04-05 5:23 ` Andrea Arcangeli [this message]
2007-04-04 22:05 ` Valdis.Kletnieks
2007-04-05 0:27 ` Linus Torvalds
2007-04-05 1:25 ` Valdis.Kletnieks
2007-04-05 2:30 ` Nick Piggin
2007-04-05 5:37 ` William Lee Irwin III
2007-04-05 17:23 ` Valdis.Kletnieks
2007-04-05 4:47 ` Nick Piggin
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=20070405052336.GQ19587@v2.random \
--to=andrea@suse.de \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=holt@sgi.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=tee@sgi.com \
--cc=torvalds@linux-foundation.org \
/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