[haiku] Re: Fwd: x86_64 build failed with gcc4 based x86_64 linux distros

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Wed, 27 Jul 2011 22:56:06 +0200

François Revol wrote:
> Le mercredi 27 juillet 2011 à 17:44 +0200, Stephan Assmus a écrit :
> > That being said, I believe the point of implementing PAE support (yes it 
> > exists) was to be able to address more than 4 GB. Each individual 
> > process in Haiku can only address 4GB, but the kernel should be able to 
> > use more than 4GB for the mapping of virtual to physical memory. That is 
> 
> Yep, the PAE paging code uses 64bit types to hold the physical
> addresses, which seems to be 40bit according to the bitmasks in paging.h

The actually supported physical address width is processor dependent. The 
maximum possible width is 52 bit (4 PiB). That's the same for x86_64.

> > of course only interesting when more than one process is running at a 
> > time, and affects the necessity for swapping out pages. For example, 
> > when one process indeed uses all of it's 4GB address space, the Haiku 
> > kernel does not necessarily need to swap out virtual memory, when there 
> > are more then 4GB available in physical RAM, since the address space of 
> > another process could be mapped to another range of the physical memory. 
> > Hope I have remembered these details correctly.

More interestingly even, the kernel directly uses physical memory for the file 
cache (unfortunately not for the block cache yet). So one can still benefit 
from more installed RAM even when not using memory hungry applications.

CU, Ingo

Other related posts: