Module Name: src Committed By: martin Date: Mon Feb 10 18:46:41 UTC 2020
Modified Files: src/distrib/sets/lists/comp [netbsd-9]: ad.m68k src/sys/arch/amiga/include [netbsd-9]: vmparam.h src/sys/arch/atari/include [netbsd-9]: vmparam.h src/sys/arch/cesfic/include [netbsd-9]: vmparam.h src/sys/arch/hp300/include [netbsd-9]: vmparam.h src/sys/arch/luna68k/include [netbsd-9]: vmparam.h src/sys/arch/m68k/include [netbsd-9]: Makefile src/sys/arch/mac68k/include [netbsd-9]: vmparam.h src/sys/arch/mvme68k/include [netbsd-9]: vmparam.h src/sys/arch/news68k/include [netbsd-9]: vmparam.h src/sys/arch/next68k/include [netbsd-9]: vmparam.h src/sys/arch/sun3/include [netbsd-9]: vmparam.h src/sys/arch/x68k/include [netbsd-9]: vmparam.h Added Files: src/sys/arch/m68k/include [netbsd-9]: vmparam.h Log Message: Pull up following revision(s) (requested by tsutsui in ticket #682): sys/arch/next68k/include/vmparam.h: revision 1.27 sys/arch/mac68k/include/vmparam.h: revision 1.46 sys/arch/sun3/include/vmparam.h: revision 1.38 sys/arch/m68k/include/vmparam.h: revision 1.1 sys/arch/hp300/include/vmparam.h: revision 1.41 sys/arch/m68k/include/Makefile: revision 1.32 sys/arch/amiga/include/vmparam.h: revision 1.48 distrib/sets/lists/comp/ad.m68k: revision 1.63 sys/arch/x68k/include/vmparam.h: revision 1.40 sys/arch/mvme68k/include/vmparam.h: revision 1.38 sys/arch/luna68k/include/vmparam.h: revision 1.23 sys/arch/news68k/include/vmparam.h: revision 1.23 sys/arch/atari/include/vmparam.h: revision 1.34 sys/arch/cesfic/include/vmparam.h: revision 1.19 Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3). Background: - All m68k ports have fixed PAGE_SIZE value in their kernels, but each port uses different PAGE_SIZE value (4096 or 8192) due to historical reasons. - Currently module(7) binaries are built per each port so all m68k kernel sources don't support run-time variable PAGE_SIZE. - MI <uvm/uvm_param.h> assumes that the port supports a variable PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE are defined and they have different values. - On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h for internal optimization. - m68k ports share userland binaries (especially pkgsrc binaries) among all ports, so we need to define MAX_PAGE_SHIFT as 13 to support m68k ports where PAGE_SIZE==8192. (though this would affect only if static binaries built on 4k page hosts are executed on 8k page hosts) To solve these inconsistency on PAGE_SIZE definitions, we should have an independent PAGE_SIZE related definitions for userland, but it requires major reorganization. For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case. Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@: https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035 https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954 Should be pulled up to netbsd-9. To generate a diff of this commit: cvs rdiff -u -r1.61 -r1.61.2.1 src/distrib/sets/lists/comp/ad.m68k cvs rdiff -u -r1.47 -r1.47.4.1 src/sys/arch/amiga/include/vmparam.h cvs rdiff -u -r1.33 -r1.33.4.1 src/sys/arch/atari/include/vmparam.h cvs rdiff -u -r1.18 -r1.18.2.1 src/sys/arch/cesfic/include/vmparam.h cvs rdiff -u -r1.40 -r1.40.2.1 src/sys/arch/hp300/include/vmparam.h cvs rdiff -u -r1.22 -r1.22.2.1 src/sys/arch/luna68k/include/vmparam.h cvs rdiff -u -r1.31 -r1.31.4.1 src/sys/arch/m68k/include/Makefile cvs rdiff -u -r0 -r1.1.2.2 src/sys/arch/m68k/include/vmparam.h cvs rdiff -u -r1.45 -r1.45.2.1 src/sys/arch/mac68k/include/vmparam.h cvs rdiff -u -r1.37 -r1.37.2.1 src/sys/arch/mvme68k/include/vmparam.h cvs rdiff -u -r1.22 -r1.22.2.1 src/sys/arch/news68k/include/vmparam.h cvs rdiff -u -r1.26 -r1.26.2.1 src/sys/arch/next68k/include/vmparam.h cvs rdiff -u -r1.37 -r1.37.42.1 src/sys/arch/sun3/include/vmparam.h cvs rdiff -u -r1.39 -r1.39.2.1 src/sys/arch/x68k/include/vmparam.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.