From: Andrea Arcangeli <andrea@suse.de>
To: Daniel Phillips <phillips@bonn-fries.net>
Cc: Russell King <rmk@arm.linux.org.uk>,
"Martin J. Bligh" <Martin.Bligh@us.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?]
Date: Mon, 6 May 2002 03:42:18 +0200 [thread overview]
Message-ID: <20020506034218.H6712@dualathlon.random> (raw)
In-Reply-To: <20020502180632.I11414@dualathlon.random> <E174Wy4-0004C2-00@starship> <20020506032054.F6712@dualathlon.random> <E174XFK-0004CJ-00@starship>
[-- Attachment #1: Type: text/plain, Size: 1071 bytes --]
On Mon, May 06, 2002 at 03:24:58AM +0200, Daniel Phillips wrote:
> On Monday 06 May 2002 03:20, Andrea Arcangeli wrote:
> > On Mon, May 06, 2002 at 03:07:07AM +0200, Daniel Phillips wrote:
> > > On Monday 06 May 2002 02:55, Russell King wrote:
> > > So, since __phys_to_virt (and hence phys_to_virt and __va) is clearly linear, the
> > > relation __pa(__va(kva)) == kva cannot hold. Perhaps that doesn't bother you?
> >
> > Check my previous email:
> >
> > [..] They will all be normal zones provided you implement a static
> > view of them in the kernel virtual address space, and you also
> > cover page_address/virt_to_page [..]
> >
> > Depending on the kind of coalescing of those chunks in the direct
> > mapping virt_to_page/page_address will vary. virt_to_page and
> > page_address will have all the necessary internal knowledge in order to
> > make it all zone_normal.
>
> What do you mean by 'implement a static view of them'?
See the attached email. assuming chunks of 256M ram every 1G, 1G phys
goes at 3G+256M virt, 2G goes at 3G+512M etc...
Andrea
[-- Attachment #2: Type: message/rfc822, Size: 1991 bytes --]
From: Andrea Arcangeli <andrea@suse.de>
To: Daniel Phillips <phillips@bonn-fries.net>
Cc: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>, Russell King <rmk@arm.linux.org.uk>, linux-kernel@vger.kernel.org
Subject: Re: Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?]
Date: Thu, 2 May 2002 18:06:32 +0200
Message-ID: <20020502180632.I11414@dualathlon.random>
On Wed, May 01, 2002 at 05:42:40PM +0200, Daniel Phillips wrote:
> On Thursday 02 May 2002 17:35, Andrea Arcangeli wrote:
> > On Thu, May 02, 2002 at 08:18:33AM -0700, Martin J. Bligh wrote:
> > > At the moment I use the contig memory model (so we only use discontig for
> > > NUMA support) but I may need to change that in the future.
> >
> > I wasn't thinking at numa-q, but regardless numa-Q fits perfectly into
> > the current discontigmem-numa model too as far I can see.
>
> No it doesn't. The config_discontigmem model forces all zone_normal memory
> to be on node zero, so all the remaining nodes can only have highmem locally.
You can trivially map the phys mem between 1G and 1G+256M to be in a
direct mapping between 3G+256M and 3G+512M, then you can put such 256M
at offset 1G into the ZONE_NORMAL of node-id 1 with discontigmem too.
The constraints you have on the normal memory are only two:
1) direct mapping
2) DMA
so as far as the ram is capable of 32bit DMA with pci32 and it's mapped
in the direct mapping you can put it into the normal zone. There is no
difference at all between discontimem or nonlinear in this sense.
> Even with good cache hardware, this has to hurt.
Andrea
next prev parent reply other threads:[~2002-05-06 1:41 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-26 18:27 Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?] Russell King
2002-04-26 22:46 ` Andrea Arcangeli
2002-04-29 17:50 ` Martin J. Bligh
2002-04-29 22:00 ` Roman Zippel
2002-04-30 0:43 ` Andrea Arcangeli
2002-04-27 22:10 ` Daniel Phillips
2002-04-29 13:35 ` Andrea Arcangeli
2002-04-29 23:02 ` Daniel Phillips
2002-05-01 2:23 ` Andrea Arcangeli
2002-04-30 23:12 ` Daniel Phillips
2002-05-01 1:05 ` Daniel Phillips
2002-05-02 0:47 ` Andrea Arcangeli
2002-05-01 1:26 ` Daniel Phillips
2002-05-02 1:43 ` Andrea Arcangeli
2002-05-01 2:41 ` Daniel Phillips
2002-05-02 13:34 ` Andrea Arcangeli
2002-05-02 15:18 ` Martin J. Bligh
2002-05-02 15:35 ` Andrea Arcangeli
2002-05-01 15:42 ` Daniel Phillips
2002-05-02 16:06 ` Andrea Arcangeli
2002-05-02 16:10 ` Martin J. Bligh
2002-05-02 16:40 ` Andrea Arcangeli
2002-05-02 17:16 ` William Lee Irwin III
2002-05-02 18:41 ` Andrea Arcangeli
2002-05-02 19:19 ` William Lee Irwin III
2002-05-02 19:27 ` Daniel Phillips
2002-05-02 19:38 ` William Lee Irwin III
2002-05-02 19:58 ` Daniel Phillips
2002-05-03 6:28 ` Andrea Arcangeli
2002-05-03 6:10 ` Andrea Arcangeli
2002-05-02 22:20 ` Martin J. Bligh
2002-05-02 21:28 ` William Lee Irwin III
2002-05-02 21:52 ` Kurt Ferreira
2002-05-02 21:55 ` William Lee Irwin III
2002-05-03 6:38 ` Andrea Arcangeli
2002-05-03 6:58 ` Martin J. Bligh
2002-05-03 6:04 ` Andrea Arcangeli
2002-05-03 6:33 ` Martin J. Bligh
2002-05-03 8:38 ` Andrea Arcangeli
2002-05-03 9:26 ` William Lee Irwin III
2002-05-03 15:38 ` Martin J. Bligh
2002-05-03 15:17 ` Virtual address space exhaustion (was Discontigmem virt_to_page() ) Martin J. Bligh
2002-05-03 15:58 ` Andrea Arcangeli
2002-05-03 16:10 ` Martin J. Bligh
2002-05-03 16:25 ` Andrea Arcangeli
2002-05-03 16:02 ` Daniel Phillips
2002-05-03 16:20 ` Andrea Arcangeli
2002-05-03 16:41 ` Daniel Phillips
2002-05-03 16:58 ` Andrea Arcangeli
2002-05-03 18:08 ` Daniel Phillips
2002-05-03 9:24 ` Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?] William Lee Irwin III
2002-05-03 10:30 ` Andrea Arcangeli
2002-05-03 11:09 ` William Lee Irwin III
2002-05-03 11:27 ` Andrea Arcangeli
2002-05-03 15:42 ` Martin J. Bligh
2002-05-03 15:32 ` Martin J. Bligh
2002-05-02 19:22 ` Daniel Phillips
2002-05-03 6:06 ` Andrea Arcangeli
2002-05-02 18:25 ` Daniel Phillips
2002-05-02 18:44 ` Andrea Arcangeli
2002-05-02 19:31 ` Martin J. Bligh
2002-05-02 18:57 ` Andrea Arcangeli
2002-05-02 19:08 ` Daniel Phillips
2002-05-03 5:15 ` Andrea Arcangeli
2002-05-05 23:54 ` Daniel Phillips
2002-05-06 0:28 ` Andrea Arcangeli
2002-05-06 0:34 ` Daniel Phillips
2002-05-06 1:01 ` Andrea Arcangeli
2002-05-06 0:55 ` Russell King
2002-05-06 1:07 ` Daniel Phillips
2002-05-06 1:20 ` Andrea Arcangeli
2002-05-06 1:24 ` Daniel Phillips
2002-05-06 1:42 ` Andrea Arcangeli [this message]
2002-05-06 1:48 ` Daniel Phillips
2002-05-06 2:06 ` Andrea Arcangeli
2002-05-06 17:40 ` Daniel Phillips
2002-05-06 19:09 ` Martin J. Bligh
2002-05-06 1:09 ` Andrea Arcangeli
2002-05-06 1:13 ` Daniel Phillips
2002-05-06 2:03 ` Daniel Phillips
2002-05-06 2:31 ` Andrea Arcangeli
2002-05-06 8:57 ` Russell King
2002-05-06 8:54 ` Roman Zippel
2002-05-06 15:26 ` Daniel Phillips
2002-05-06 19:07 ` Roman Zippel
2002-05-08 15:57 ` Daniel Phillips
2002-05-08 23:11 ` Roman Zippel
2002-05-09 16:08 ` Daniel Phillips
2002-05-09 22:06 ` Roman Zippel
2002-05-09 22:22 ` Daniel Phillips
2002-05-09 23:00 ` Roman Zippel
2002-05-09 23:22 ` Daniel Phillips
2002-05-10 0:13 ` Roman Zippel
2002-05-02 22:39 ` Martin J. Bligh
2002-05-03 7:04 ` Andrea Arcangeli
2002-05-02 23:42 ` Daniel Phillips
2002-05-03 7:45 ` Andrea Arcangeli
2002-05-02 16:07 ` Martin J. Bligh
2002-05-02 16:58 ` Gerrit Huizenga
2002-05-02 18:10 ` Andrea Arcangeli
2002-05-02 19:28 ` Gerrit Huizenga
2002-05-02 22:23 ` Martin J. Bligh
2002-05-03 6:20 ` Andrea Arcangeli
2002-05-03 6:39 ` Martin J. Bligh
2002-05-02 16:00 ` William Lee Irwin III
2002-05-02 2:37 ` William Lee Irwin III
2002-05-02 15:59 ` Andrea Arcangeli
2002-05-02 16:06 ` William Lee Irwin III
2002-05-01 18:05 ` Jesse Barnes
2002-05-01 23:17 ` Andrea Arcangeli
2002-05-01 23:23 ` discontiguous memory platforms Jesse Barnes
2002-05-02 0:51 ` Ralf Baechle
2002-05-02 1:27 ` Andrea Arcangeli
2002-05-02 1:32 ` Ralf Baechle
2002-05-02 8:50 ` Roman Zippel
2002-05-01 13:21 ` Daniel Phillips
2002-05-02 14:00 ` Roman Zippel
2002-05-01 14:08 ` Daniel Phillips
2002-05-02 17:56 ` Roman Zippel
2002-05-01 17:59 ` Daniel Phillips
2002-05-02 18:26 ` Roman Zippel
2002-05-02 18:32 ` Daniel Phillips
2002-05-02 19:40 ` Roman Zippel
2002-05-02 20:14 ` Daniel Phillips
2002-05-03 6:34 ` Andrea Arcangeli
2002-05-03 9:33 ` Roman Zippel
2002-05-03 6:30 ` Andrea Arcangeli
2002-05-02 18:35 ` Geert Uytterhoeven
2002-05-02 18:39 ` Daniel Phillips
2002-05-02 0:20 ` Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?] Anton Blanchard
2002-05-01 1:35 ` Daniel Phillips
2002-05-02 1:45 ` William Lee Irwin III
2002-05-01 2:02 ` Daniel Phillips
2002-05-02 2:33 ` William Lee Irwin III
2002-05-01 2:44 ` Daniel Phillips
2002-05-02 1:46 ` Andrea Arcangeli
2002-05-01 1:56 ` Daniel Phillips
2002-05-02 1:01 ` Andrea Arcangeli
2002-05-02 15:28 ` Anton Blanchard
2002-05-01 16:10 ` Daniel Phillips
2002-05-02 15:59 ` Dave Engebretsen
2002-05-01 17:24 ` Daniel Phillips
2002-05-02 16:44 ` Dave Engebretsen
2002-05-02 16:31 ` William Lee Irwin III
2002-05-02 16:21 ` Dave Engebretsen
2002-05-02 17:28 ` William Lee Irwin III
2002-05-02 23:05 ` Daniel Phillips
2002-05-03 0:05 ` William Lee Irwin III
2002-05-03 1:19 ` Daniel Phillips
2002-05-03 19:47 ` Dave Engebretsen
2002-05-03 22:06 ` Daniel Phillips
2002-05-03 23:52 ` David Mosberger
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=20020506034218.H6712@dualathlon.random \
--to=andrea@suse.de \
--cc=Martin.Bligh@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=phillips@bonn-fries.net \
--cc=rmk@arm.linux.org.uk \
/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