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

  • From: François Revol <revol@xxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Thu, 28 Jul 2011 00:29:28 +0200

Le mercredi 27 juillet 2011 à 22:56 +0200, Ingo Weinhold a écrit :
> 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.

Oh right, the 40bits are the page addresses, +12bits for offsets in the
page.

> > > 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.

And RAM disks, ...

François.




Other related posts: