Dave Hansen wrote:
On Fri, 2008-08-15 at 10:03 +0200, Thomas Bogendoerfer wrote:
On Thu, Aug 14, 2008 at 04:52:34PM -0700, C Michael Sundius wrote:
+#define SECTION_SIZE_BITS 27 /* 128 MiB */
+#define MAX_PHYSMEM_BITS 31 /* 2 GiB */
#define SECTION_SIZE_BITS 28
#define MAX_PHYSMEM_BITS 35
why is this needed ?
I'm sure Michael can speak to the specifics. But, in general, making
SECTION_SIZE_BITS smaller is good if you have lots of small holes in
memory. It does this at the cost if increasing the size of the
MAX_PHYSMEM_BITS should be as as small as possible, but not so small
that it restricts the amount of RAM that your systems
support. Increasing it has the effect of increasing the size of the
My guess would be that Michael knew that his 32-bit MIPS platform only
ever has 2GB of memory. He also knew that its holes (or RAM) come in
128MB sections. This configuration lets him save the most amount of
memory with SPARSEMEM.
Michael, I *guess* you could also include a wee bit on how you chose
your numbers in the documentation. Not a big deal, though.
yes, actually the top two bits are used in MIPS as segment bits.
For 64 bit MIPS machines there is a bigger physical address space.
In our case, we used either 128MiB or 256MiB blocks or RAM and they
are separated by holes at least that big. It seemed reasonable that that was
the biggest value that I could make it.
One thing that I had thought about and also came up when my peers here
reviewed my changes was that we probably could put those bit numbers
(at the very least the segment size) in the .config file.
we decided that the power that be might have had a reason for that and
we left it not wanting to meddle with the other arch's.
Dave, do you have a comment about that?