From: Dave Hansen <dave@linux.vnet.ibm.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Christoph Lameter <cl@linux-foundation.org>,
Minchan Kim <minchan.kim@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Milton Miller <miltonm@bga.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mel@csn.ul.ie>, Johannes Weiner <hannes@cmpxchg.org>,
Kukjin Kim <kgene.kim@samsung.com>
Subject: Re: [PATCH] Tight check of pfn_valid on sparsemem - v4
Date: Thu, 29 Jul 2010 13:55:19 -0700 [thread overview]
Message-ID: <1280436919.16922.11246.camel@nimitz> (raw)
In-Reply-To: <20100729183320.GH18923@n2100.arm.linux.org.uk>
On Thu, 2010-07-29 at 19:33 +0100, Russell King - ARM Linux wrote:
> And no, setting the sparse section size to 512kB doesn't work - memory is
> offset by 256MB already, so you need a sparsemem section array of 1024
> entries just to cover that - with the full 256MB populated, that's 512
> unused entries followed by 512 used entries. That too is going to waste
> memory like nobodies business.
Sparsemem could use some work in the case where memory doesn't start at
0x0. But, it doesn't seem like it would be _too_ oppressive to add.
It's literally just adding an offset to all of the places where a
physical address is stuck into the system. It'll make a few of the
calculations longer, of course, but it should be manageable.
Could you give some full examples of how the memory is laid out on these
systems? I'm having a bit of a hard time visualizing it.
As Christoph mentioned, SPARSEMEM_EXTREME might be viable here, too.
If you free up parts of the mem_map[] array, how does the buddy
allocator still work? I thought we required at 'struct page's to be
contiguous and present for at least 2^MAX_ORDER-1 pages in one go.
-- Dave
WARNING: multiple messages have this Message-ID (diff)
From: Dave Hansen <dave@linux.vnet.ibm.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Christoph Lameter <cl@linux-foundation.org>,
Minchan Kim <minchan.kim@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Milton Miller <miltonm@bga.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mel@csn.ul.ie>, Johannes Weiner <hannes@cmpxchg.org>,
Kukjin Kim <kgene.kim@samsung.com>
Subject: Re: [PATCH] Tight check of pfn_valid on sparsemem - v4
Date: Thu, 29 Jul 2010 13:55:19 -0700 [thread overview]
Message-ID: <1280436919.16922.11246.camel@nimitz> (raw)
In-Reply-To: <20100729183320.GH18923@n2100.arm.linux.org.uk>
On Thu, 2010-07-29 at 19:33 +0100, Russell King - ARM Linux wrote:
> And no, setting the sparse section size to 512kB doesn't work - memory is
> offset by 256MB already, so you need a sparsemem section array of 1024
> entries just to cover that - with the full 256MB populated, that's 512
> unused entries followed by 512 used entries. That too is going to waste
> memory like nobodies business.
Sparsemem could use some work in the case where memory doesn't start at
0x0. But, it doesn't seem like it would be _too_ oppressive to add.
It's literally just adding an offset to all of the places where a
physical address is stuck into the system. It'll make a few of the
calculations longer, of course, but it should be manageable.
Could you give some full examples of how the memory is laid out on these
systems? I'm having a bit of a hard time visualizing it.
As Christoph mentioned, SPARSEMEM_EXTREME might be viable here, too.
If you free up parts of the mem_map[] array, how does the buddy
allocator still work? I thought we required at 'struct page's to be
contiguous and present for at least 2^MAX_ORDER-1 pages in one go.
-- Dave
--
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:[~2010-07-29 20:55 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-26 15:46 [PATCH] Tight check of pfn_valid on sparsemem - v4 Minchan Kim
2010-07-26 15:46 ` Minchan Kim
2010-07-26 15:46 ` Minchan Kim
2010-07-26 16:40 ` Christoph Lameter
2010-07-26 16:40 ` Christoph Lameter
2010-07-26 16:40 ` Christoph Lameter
2010-07-26 22:47 ` Minchan Kim
2010-07-26 22:47 ` Minchan Kim
2010-07-26 22:47 ` Minchan Kim
2010-07-27 5:55 ` miltonm
2010-07-27 5:55 ` miltonm
2010-07-27 6:11 ` Minchan Kim
2010-07-27 8:12 ` Milton Miller
2010-07-27 8:12 ` Milton Miller
2010-07-27 8:13 ` KAMEZAWA Hiroyuki
2010-07-27 8:13 ` KAMEZAWA Hiroyuki
2010-07-27 10:01 ` Minchan Kim
2010-07-27 10:01 ` Minchan Kim
2010-07-27 14:34 ` Christoph Lameter
2010-07-27 14:34 ` Christoph Lameter
2010-07-27 22:33 ` Minchan Kim
2010-07-27 22:33 ` Minchan Kim
2010-07-28 15:14 ` Christoph Lameter
2010-07-28 15:14 ` Christoph Lameter
2010-07-28 15:56 ` Minchan Kim
2010-07-28 15:56 ` Minchan Kim
2010-07-28 17:02 ` Christoph Lameter
2010-07-28 17:02 ` Christoph Lameter
2010-07-28 22:57 ` Minchan Kim
2010-07-28 22:57 ` Minchan Kim
2010-07-29 15:46 ` Christoph Lameter
2010-07-29 15:46 ` Christoph Lameter
2010-07-29 16:18 ` Minchan Kim
2010-07-29 16:18 ` Minchan Kim
2010-07-29 16:47 ` Christoph Lameter
2010-07-29 16:47 ` Christoph Lameter
2010-07-29 17:03 ` Minchan Kim
2010-07-29 17:03 ` Minchan Kim
2010-07-29 17:30 ` Christoph Lameter
2010-07-29 17:30 ` Christoph Lameter
2010-07-29 18:33 ` Russell King - ARM Linux
2010-07-29 18:33 ` Russell King - ARM Linux
2010-07-29 19:55 ` Christoph Lameter
2010-07-29 19:55 ` Christoph Lameter
2010-07-29 21:13 ` Russell King - ARM Linux
2010-07-29 21:13 ` Russell King - ARM Linux
2010-07-29 20:55 ` Dave Hansen [this message]
2010-07-29 20:55 ` Dave Hansen
2010-07-29 22:14 ` Russell King - ARM Linux
2010-07-29 22:14 ` Russell King - ARM Linux
2010-07-29 22:28 ` Christoph Lameter
2010-07-29 22:28 ` Christoph Lameter
2010-07-30 0:38 ` Dave Hansen
2010-07-30 0:38 ` Dave Hansen
2010-07-30 9:43 ` Minchan Kim
2010-07-30 9:43 ` Minchan Kim
2010-07-30 12:48 ` Christoph Lameter
2010-07-30 12:48 ` Christoph Lameter
2010-07-30 15:43 ` Dave Hansen
2010-07-30 15:43 ` Dave Hansen
2010-07-31 15:30 ` Russell King - ARM Linux
2010-07-31 15:30 ` Russell King - ARM Linux
2010-08-02 15:48 ` Christoph Lameter
2010-08-02 15:48 ` Christoph Lameter
2010-07-30 9:32 ` Minchan Kim
2010-07-30 9:32 ` Minchan Kim
2010-07-31 10:38 ` Russell King - ARM Linux
2010-07-31 10:38 ` Russell King - ARM Linux
2010-08-11 15:31 ` Dave Hansen
2010-08-11 15:31 ` Dave Hansen
2010-07-27 9:56 ` Minchan Kim
2010-07-27 9:56 ` Minchan Kim
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=1280436919.16922.11246.camel@nimitz \
--to=dave@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kgene.kim@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@arm.linux.org.uk \
--cc=mel@csn.ul.ie \
--cc=miltonm@bga.com \
--cc=minchan.kim@gmail.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.