Project

General

Profile

Actions

Bug #6395

closed

cannot tune segkpsize up

Added by Arne Jansen over 6 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
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

Also available in: Atom PDF