Increase the size of the register stack storage on ia64 from 32K to 2MB so

that we can compile gcc.  This is a hack because it adds a fixed 2MB to
each process's VSIZE regardless of how much is really being used since
there is no grow-up stack support.  At least it isn't physical memory.
Sigh.

Add a sysctl to enable tweaking it for new processes.
This commit is contained in:
peter 2002-04-05 01:57:45 +00:00
parent 9e2934e66a
commit 293815b90a

View File

@ -95,6 +95,12 @@ SYSCTL_ULONG(_kern, OID_AUTO, ps_arg_cache_limit, CTLFLAG_RW,
int ps_argsopen = 1;
SYSCTL_INT(_kern, OID_AUTO, ps_argsopen, CTLFLAG_RW, &ps_argsopen, 0, "");
#ifdef __ia64__
/* XXX HACK */
static int regstkpages = 256;
SYSCTL_INT(_machdep, OID_AUTO, regstkpages, CTLFLAG_RW, &regstkpages, 0, "");
#endif
/*
* Each of the items is a pointer to a `const struct execsw', hence the
* double pointer here.
@ -622,7 +628,7 @@ exec_new_vmspace(imgp)
vm_offset_t bsaddr;
bsaddr = USRSTACK - 2*maxssiz;
error = vm_map_find(&vmspace->vm_map, 0, 0, &bsaddr,
4*PAGE_SIZE, 0,
regstkpages * PAGE_SIZE, 0,
VM_PROT_ALL, VM_PROT_ALL, 0);
FIRST_THREAD_IN_PROC(p)->td_md.md_bspstore = bsaddr;
}