Subject: Re: UVM aobj: Large VM objects.
To: YAMAMOTO Takashi <firstname.lastname@example.org>
From: David Brownlee <abs@NetBSD.org>
Date: 03/07/2006 11:14:58
On Mon, 6 Mar 2006, YAMAMOTO Takashi wrote:
>> 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 -- www.NetBSD.org: No hype required --