Port-sparc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Kernel size (Was: Include DaynaPort by default in GENERIC?)
Hi,
[replying to several messages in one go]
I think that it makes sense to take some of these out of GENERIC, and just
picking some examples that make sense to me:
> options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
> <I never understood why we included the description strings in the first place>
> options COMPAT_SUNOS # SunOS 4.x binary compatibility
> <probably not very useful anymore, but still a nice curiorsity>
> options NFSSERVER # Network File System server
> <can NFSSERVER be loaded as a module? If not, we should fix that!>
> ch* at scsibus? target ? lun ? # SCSI changer devices
> ss* at scsibus? target ? lun ? # SCSI scanners
> ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE
> <probably not a lot of these devices hooked up to sparcs these days>
> ## SLIP and CSLIP interfaces, for IP over a serial line.
> pseudo-device sl
Although, I'd keep this because I have RAID configured on a few of my sparcs:
> pseudo-device raid
> options RAID_AUTOCONFIG # auto-configuration of RAID components
> <anyone running big RAID configs on their old Sun workstation?>
> Before:
> NetBSD 11.99.5 (GENERIC) #0: Mon Mar 23 20:54:04 PDT 2026
> text data bss dec hex filename
> 5698534 158512 135720 5992766 5b713e netbsd
>
> After:
> NetBSD 11.99.5 (GENERIC) #1: Mon Mar 23 21:14:46 PDT 2026
> text data bss dec hex filename
> 4591378 144396 130624 4866398 4a415e netbsd
>
> Could probably shave off a fair bit more.
We'd need to shave off more if we want to handle:
> I would offer the counter point that GENERIC is getting a little too
> big these days. It's already too big to boot on sun4c machines with
> the original memory config most of them shipped with. Having a unified
> kernel that boots on everything is nice on paper but on sun4 and sun4c
> the lack of RAM makes things painfully slow. I think it might be worth
> going back to the SunOS way of having a separate kernel for each
> karch.
I don't use GENERIC, but I compile separate kernels for each "karch", which
is exactly what you suggest here. That can make a difference, for example:
text data bss dec hex filename
6261634 157912 137224 6556770 640c62 SUN4M_SCSI3.MP/netbsd
versus:
text data bss dec hex filename
5268518 147960 132480 5548958 54ab9e SUN4/netbsd
text data bss dec hex filename
3943341 134092 128720 4206153 402e49 SPARCBOOK/netbsd
However, depending on the options chosen, it might not make much difference:
text data bss dec hex filename
6197934 154992 135104 6488030 62ffde SUN4C_SCSI3/netbsd
I compile 10 kernels for a variety of machines. I wonder if we really need
to add a lot of extra kernels, or if we could have a SMALL kernel? If we
want to have support for just SUN4 and SUN4C, we could also reduce the size
further with things like:
no options SUN4M
no options SUN4D
no cpuunit0 at mainbus0
no cpuunit* at mainbus0
and so on, i.e. removing anything that isn't present on SUN4 or SUN4C.
Regards,
Julian
PS. Adding DaynaPort seems sensible :-)
Home |
Main Index |
Thread Index |
Old Index