kernel - Reduce BSS size to fix loader initrd problem
authorCharlie Root <root@apollo.backplane.com>
Sat, 23 Apr 2016 03:33:37 +0000 (20:33 -0700)
committerCharlie Root <root@apollo.backplane.com>
Sat, 23 Apr 2016 03:33:37 +0000 (20:33 -0700)
commitd8f4ebf4a60b32b6d104aefadec34de5aaad1133
tree85fb215f0d128b936eeac6867e401fe24813c115
parentd90e4fd11dfe04d50a912628b090cd5d02cdea2d
kernel - Reduce BSS size to fix loader initrd problem

* kernel + modules + initrd.img (unpacked) exceeded the 63MB the loader has
  available for load-time data.

* Top hogs are mainly in BSS.  Make intr_info_ary and pcpu_sysctl
  kmalloc after boot instead of BSS as a temporary fix.

    335872  ifnet_threads
    335872  netisr_cpu
    339968  dummy_pcpu
    344064  bsd4_pcpu
    344064  stoppcbs
    346112  softclock_pcpu_ary
    538624  cpu_topology_nodes
    755712  dfly_pcpu
    786432  icu_irqmaps
    958464  map_entry_init
    1048576 idt_arr
    1064960 pcpu_sysctl <---- now kmallocd
    1179648 ioapic_irqmaps <---- (used too early, cannot be kmallocd)
    5242880 intr_info_ary <---- now kmallocd

* Should fix loader issues when trying to use initrd.img[.gz] for now.

Reported-by: Valheru
sys/kern/kern_intr.c
sys/kern/subr_cpu_topology.c
sys/platform/pc64/apic/ioapic_abi.c