Date: Thu, 11 Oct 2001 10:01:15 +0900 From: Makoto MATSUSHITA <matusita@jp.FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/release/i386 dokern.sh Message-ID: <20011011100115Q.matusita@jp.FreeBSD.org> In-Reply-To: <200110080343.f983htL29456@khavrinen.lcs.mit.edu> References: <200110051728.f95HSX738122@harmony.village.org> <20011007021605I.matusita@jp.FreeBSD.org> <200110080343.f983htL29456@khavrinen.lcs.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
wollman> I found that it helps a lot if you link the modules together into a wollman> single kld (amortizing the overhead of the linker metadata over wollman> multiple modules). Just take the *.kld (NOT *.ko) from the object wollman> directories and link them together with `ld -Bshareable'. I've tried to confirm this. * compile all kernel modules. * copied *.kld into single directory. * run 'ld -Bshareable -o merged.ko *.kld'. some modules conflicts about function definition. The conflicted modules pair are: if_sl/if_ppp nfsserver/nfsclient ng_sync_ar/if_ar ng_sync/sr/if_sr ng_vjc/if_ppp * remove if_sr, if_ppp, nfs*, and ng_* modules and link again. # ld -Bshareable -o merged.ko *.kld # ls -l *.kld | wc 165 1485 9809 # ls -l *.kld | awk '{sum+=$5} END {print sum}' 6433815 # ls -l merged.ko -rwxr-xr-x 1 root wheel 5116576 Oct 11 00:41 merged.ko Wow... it is worth trying to merge modules into single one. I'll try it later. *** BTW, why 'bge' and 'lge', gigabit ethernet drivers, are not in GENERIC yet? it is still developing is not working, or just missed? Before patch: kern.flp 59 kbytes left mfsroot.flp 311 kbytes left After patch #1 (remove some drivers out to kernel module): kern.flp 139 kbytes left mfsroot.flp 115 kbytes left After patch #2 (#1 plus adding 'bge' and 'lge'): kern.flp 139 kbytes left mfsroot.flp 95 kbytes left We lost more 20kbytes in mfsroot.flp but it still fits to 1.44MB floppy. -- - Makoto `MAR' MATSUSHITA To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011011100115Q.matusita>