Actions
Bug #6395
closedcannot tune segkpsize up
Start date:
2015-10-24
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
Description
It's not possible to tune segkpsize up, the system panics with 'startup: cannot attach segkp' due to overlapping segments. The reason is that layout_kernel_va() builds a segment layout based on the value of segkpsize before /etc/system is read. So if the value gets increased through /etc/system afterwards, the system tries to create a segment that doesn't fit anymore into the calculated layout.
Also, the sanity checks for segkpsize are done before the value is read.
It has been broken by
commit 35b1ab9964f57b69ba8f03d2962f94036aa78c57 Author: josephb <none@none> Date: Wed Aug 8 11:14:39 2007 -0700 6582841 boot_/final_kerneheap and kernelheap_extend() nonsense needs to be ripped out 6507265 amd64 Solaris will fail on more than 1 Terabyte of memory
which moved the layout part from after kmem_init() to before it. kmem_init() reads /etc/system through mod_read_system_file().
Actions