Subject: Re: UVM aobj: Large VM objects.
To: YAMAMOTO Takashi <>
From: David Brownlee <>
List: tech-kern
Date: 03/07/2006 11:14:58
On Mon, 6 Mar 2006, YAMAMOTO Takashi wrote:

>> Hi,
>> The Kernel aobject (kernel_object_store) spans (VM_MAX_ADDRESS -
>> VM_MIN_ADDRESS) on all ports. On ia64, the kernel VM range is
>> determined by the size of an IA64 "region". This was inherited from
>> FreeBSD MD code.
>> The maximum number of pages required to map this size overflows type
>> int, even with 16KB page sizes. Would the following ( and possibly
>> more like this to come ) affect other areas of UVM ?
> (although i doubt kernel_object really need to cover the entire region,)
> making aobj 64-bit offset clean is a good idea.
> however, i don't think long is appropriate here.
> please introduce a 64-bit "page offset" type.
> "typedef voff_t pgoff_t" should be fine.

 	Can't we use something similar to vm_offset_t, which is
 	appropriately sized for the machine?

 	If we are ever going to need it to be 64bit on every arch with 32bit
 	physical and virtual addresses then I agree it should be 64bit,
 	but otherwise its yet another tiny performance loss/memory
 	growth, continuing the pecking to death by ducks...

 		David/absolute       -- No hype required --