On Tue, 2009-02-03 at 10:51 -0800, Bill Broadley wrote:
> Cam Ellison wrote:
> > Chanoch (Ken) Bloom wrote:
> >> I'm upgrading an x86 machine to 4 GB of RAM, and have compiled the
> >> kernel with CONFIG_HIGHMEM64G=y, but the kernel is only seeing 3283 MB
> >> of the RAM. Any idea what I'm doing wrong?
> >>
> >>
> >
> > You should use the 4GB setting, I think. The 64G setting is for a
> > 64-bit processor, and you appear to have a 32-bit.
>
> Actually, I believe not. The whole number of bits thing is rather confusing.
> Is it the memory bus width? Size of floating point? Ints?
> Pointers/directly addressable ram? Maximum addressable memory (ram)?
>
> Actually the "32-bit" intels (back at least to the P Pro) can address around
> 36 bits of memory via a hack, but only 4GB per process. But the kernel could
> have 4GB and any single process could have 4GB, so on a large 32-bit server
> might have 16GB ram and allow for numerous processes to run as long as the
> total does go over 16, and any single process doesn't go over 1GB. The config
> description should for CONFIG_HIHMEM64G should mention PAE or similar.
>
> Oh, as for the questions above:
> * it's not the memory width, 64-128 bits has been quite common for CPU
> generations, currently it's often 192-256, and in a few weeks 384.
> * Floating point has been 64 bits for CPU generations
> * Ints aren't a bad approximation
> * Pointers aren't a bad approximation
> * addressable memory isn't
The definition is probably "Machine Register Size". Pointers, ints, and
addressable memory should go along for the ride because it's convenient
to do it that way, but note:
* an int on amd64 gcc is 32 bits. It's a long that's 64 bits.
* The DOS memory model (*sticks out tongue*) used 16-bit pointers
on 16-bit processors, but addressed 1MB of RAM by the use of a
segment register to choose which "paragraph" of memory pointers
would refer to.
--Ken
--
Ken (Chanoch) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/

Attachment:
signature.ascDescription: This is a digitally signed message part