From: Andy Whitcroft <apw@shadowen.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: linux-mm@kvack.org, ak@suse.de
Subject: Re: virtual mmap basics
Date: Tue, 26 Sep 2006 13:06:28 +0100 [thread overview]
Message-ID: <451917C4.1050603@shadowen.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0609251631060.25028@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
> On Mon, 25 Sep 2006, Andy Whitcroft wrote:
>
>>> Using a virtual memmap there would allow relocation of the memmap array
>>> into high memory and would double the available low memory. So may be
>>> worth even on this 32 bit platform to sacrifice 1/8th of the virtual
>>> address space for memmap.
>> How does moving to a virtual memmap help here. The virtual mem_map also
>> has to be allocated in KVA, any KVA used for it is not available to and
>> thereby shrinks the size of zone NORMAL? The size of NORMAL in x86 is
>> defined by the addressable space in kernel mode (by KVA size), 1GB less
>> other things we have mapped. Virtual map would be one of those.
>
> Hmmm... Strange architecture and I may be a bit ignorant on this one. You
> could reserve the 1G for kernel 1-1 mapped. 2nd G for VMALLOC / virtual
> memmap and the remaining 2G for user space? Probably wont work since you
> would have to decrease user space from 3G to 2G?
Not strange? Limited. Any 32bit architecture has this limitation.
They can only map a limited amount of memory into the kernel at the same
time.
Yes some users already change their U/K split on 32bit do do this, but
as you say its not a general solution here.
> Having the virtual memmap in high memory also allows you to place the
> sections of the memmap that map files of that node into the memory of the
> node itself. This alone would get you a nice performance boost.
We already do this. We don't allocate mem_map out of zone normal, we
pull it from the end of each node. This is then mapped after the end of
zone normal and before vmap space. mem_map is physically node local,
but mapped into KVA.
>>> So far I am not seeing any convincing case for the current sparsemem table
>>> lookups. But there must have been some reason that such an implementation
>>> was chosen. What was it?
>> As I said the problem is not memory but KVA space. Zone normal is all
>> the pages we can map into the kernel address space, its 1Gb less the
>> kernel itself, less vmap space. In the current NUMA scheme its then
>> less the mem_map allocated out of HIGHMEM but mapped into KVA. In
>> vmem_map its allocated out of HIGHMEM but mapped into KVA. The loss is
>> the same.
>
> Yup the only way around would be to decrease user space sizes.
>
> But then we are talking about a rare breed of NUMA machine, right?
We are talking about any 32bit NUMA. Getting rarer yes.
-apw
--
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:[~2006-09-26 12:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-24 16:59 virtual mmap basics Christoph Lameter
2006-09-25 12:28 ` Andy Whitcroft
2006-09-25 16:27 ` Christoph Lameter
2006-09-25 17:11 ` Christoph Lameter
2006-09-25 21:05 ` Christoph Lameter
2006-09-25 22:22 ` Andy Whitcroft
2006-09-25 23:37 ` Christoph Lameter
2006-09-26 12:06 ` Andy Whitcroft [this message]
2006-09-25 18:09 ` Andy Whitcroft
2006-09-25 21:00 ` Christoph Lameter
2006-09-25 23:54 ` virtual memmap sparsity: Dealing with fragmented MAX_ORDER blocks Christoph Lameter
2006-09-26 0:31 ` Christoph Lameter
2006-09-26 12:11 ` Andy Whitcroft
2006-09-26 15:23 ` Christoph Lameter
2006-09-26 8:16 ` Mel Gorman
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=451917C4.1050603@shadowen.org \
--to=apw@shadowen.org \
--cc=ak@suse.de \
--cc=clameter@sgi.com \
--cc=linux-mm@kvack.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 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.