linux-mips
[Top] [All Lists]

Re: sparsemem support for mips with highmem

To: Christoph Lameter <cl@linux-foundation.org>
Subject: Re: sparsemem support for mips with highmem
From: David VomLehn <dvomlehn@cisco.com>
Date: Mon, 18 Aug 2008 14:57:27 -0700
Authentication-results: sj-dkim-1; header.From=dvomlehn@cisco.com; dkim=pass ( sig from cisco.com/sjdkim1004 verified; );
Cc: Randy Dunlap <rdunlap@xenotime.net>, C Michael Sundius <Michael.sundius@sciatl.com>, Dave Hansen <dave@linux.vnet.ibm.com>, Thomas Bogendoerfer <tsbogend@alpha.franken.de>, linux-mm@kvack.org, linux-mips@linux-mips.org, jfraser@broadcom.com, Andy Whitcroft <apw@shadowen.org>
Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; l=1233; t=1219096683; x=1219960683; c=relaxed/simple; s=sjdkim1004; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=dvomlehn@cisco.com; z=From:=20David=20VomLehn=20<dvomlehn@cisco.com> |Subject:=20Re=3A=20sparsemem=20support=20for=20mips=20with =20highmem |Sender:=20; bh=B6MdRFigCBcPD0QVe9hKfZE+cDl4X8zvStm2cAqcZjQ=; b=tUC2uq2+nnXhUgNIxao0Xu+R92P/bPPy/Rnug+2v0859jXe8hvsIj1icII 1P8I+fIKchjUz7FC01xvNBc2L6foTaNRkKY4+RX7GbXW2jZDnmhzt7a1JJgB Tbp1uWRWs+xvvlbMNHnpAJhmJzut5626TiGVoP9lPtETOQzqJkp5Y=;
In-reply-to: <48A9E89C.4020408@linux-foundation.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <48A4AC39.7020707@sciatl.com> <1218753308.23641.56.camel@nimitz> <48A4C542.5000308@sciatl.com> <20080815080331.GA6689@alpha.franken.de> <1218815299.23641.80.camel@nimitz> <48A5AADE.1050808@sciatl.com> <20080815163302.GA9846@alpha.franken.de> <48A5B9F1.3080201@sciatl.com> <1218821875.23641.103.camel@nimitz> <48A5C831.3070002@sciatl.com> <20080818094412.09086445.rdunlap@xenotime.net> <48A9E89C.4020408@linux-foundation.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)
Christoph Lameter wrote:
Randy Dunlap wrote:

+Sparsemem divides up physical memory in your system into N section of M

                                                            sections

+bytes. Page descriptors are created for only those sections that
+actually exist (as far as the sparsemem code is concerned). This allows
+for holes in the physical memory without having to waste space by
+creating page discriptors for those pages that do not exist.

               descriptors

+When page_to_pfn() or pfn_to_page() are called there is a bit of overhead to
+look up the proper memory section to get to the descriptors, but this
+is small compared to the memory you are likely to save. So, it's not the
+default, but should be used if you have big holes in physical memory.

This overhead can be avoided by configuring sparsemem to use a virtual vmemmap
(CONFIG_SPARSEMEM_VMEMMAP). In that case it can be used for non NUMA since the
overhead is less than even FLATMEM.

On MIPS processors, the kernel runs in unmapped memory, i.e. the TLB isn't even
used, so I don't think you can use that trick. So, this comment doesn't apply to
all processors.


<Prev in Thread] Current Thread [Next in Thread>