[rfc] allow to boot with >= 256GB physmem

Kostik Belousov kostikbel at gmail.com
Fri Jan 21 19:58:48 UTC 2011


On Fri, Jan 21, 2011 at 12:44:13PM -0500, John Baldwin wrote:
> On Friday, January 21, 2011 11:09:10 am Sergey Kandaurov wrote:
> > Hello.
> > 
> > Some time ago I faced with a problem booting with 400GB physmem.
> > The problem is that vm.max_proc_mmap type overflows with
> > such high value, and that results in a broken mmap() syscall.
> > The max_proc_mmap value is a signed int and roughly calculated
> > at vmmapentry_rsrc_init() as u_long vm_kmem_size quotient:
> > vm_kmem_size / sizeof(struct vm_map_entry) / 100.
> > 
> > Although at the time it was introduced at svn r57263 the value
> > was quite low (f.e. the related commit log stands:
> > "The value defaults to around 9000 for a 128MB machine."),
> > the problem is observed on amd64 where KVA space after
> > r212784 is factually bound to the only physical memory size.
> > 
> > With INT_MAX here is 0x7fffffff, and sizeof(struct vm_map_entry)
> > is 120, it's enough to have sligthly less than 256GB to be able
> > to reproduce the problem.
> > 
> > I rewrote vmmapentry_rsrc_init() to set large enough limit for
> > max_proc_mmap just to protect from integer type overflow.
> > As it's also possible to live tune this value, I also added a
> > simple anti-shoot constraint to its sysctl handler.
> > I'm not sure though if it's worth to commit the second part.
> > 
> > As this patch may cause some bikeshedding,
> > I'd like to hear your comments before I will commit it.
> > 
> > http://plukky.net/~pluknet/patches/max_proc_mmap.diff
> 
> Is there any reason we can't just make this variable and sysctl a long?
I do not think we ever need 2G vm map entries in the single address space.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110121/e6d5a8ae/attachment.pgp


More information about the freebsd-hackers mailing list