Messages in this thread Patch in this message |  | | Date | Sat, 12 Jan 2002 00:45:28 -0500 | Subject | [PATCH] 1-2-3 GB | From | rwhron@earthlin ... |
| |
Patch to have 1-3 GB of virtual memory and not show up as highmem:
Tested on uniprocessor Athlon with 1024 MB RAM and 1027 MB swap. Caused no LTP (ltp-20020108) regressions. Did a test like http://marc.theaimsgroup.com/?l=linux-kernel&m=101064072924424&w=2 This time the test completed in 51 minutes (11% faster) and I had setiathome running the whole time and listened to 12 mp3s sampled at 128k.
dmesg|grep Mem Memory: 1029848k/1048512k available (1054k kernel code, 18276k reserved, 260k data, 240k init, 0k highmem)
egrep '^CONFIG_HIGH|GB' /usr/src/linux/.config CONFIG_HIGHMEM4G=y CONFIG_HIGHMEM=y # CONFIG_1GB is not set CONFIG_2GB=y # CONFIG_3GB is not set # CONFIG_05GB is not set
uname -a Linux rushmore 2.4.18pre2aa2-2g #2 Fri Jan 11 22:25:55 EST 2002 i686 unknown
Derived from: htty://kernelnewbies.org/kernels/rh72/SOURCES/linux-2.4.2-vm-1-2-3-gbyte.patch Some parts of the patch above are already in the mainline trees.
Patch below applies to 2.4.18pre2aa2:
diff -nur linux.aa2/Rules.make linux/Rules.make --- linux.aa2/Rules.make Tue Mar 6 22:31:01 2001 +++ linux/Rules.make Fri Jan 11 22:00:57 2002 @@ -212,6 +212,7 @@ # # Added the SMP separator to stop module accidents between uniprocessor # and SMP Intel boxes - AC - from bits by Michael Chastain +# Added separator for different PAGE_OFFSET memory models - Ingo. #
ifdef CONFIG_SMP @@ -220,6 +221,22 @@ genksyms_smp_prefix := endif
+ifdef CONFIG_2GB +ifdef CONFIG_SMP + genksyms_smp_prefix := -p smp_2gig_ +else + genksyms_smp_prefix := -p 2gig_ +endif +endif + +ifdef CONFIG_3GB +ifdef CONFIG_SMP + genksyms_smp_prefix := -p smp_3gig_ +else + genksyms_smp_prefix := -p 3gig_ +endif +endif + $(MODINCL)/%.ver: %.c @if [ ! -r $(MODINCL)/$*.stamp -o $(MODINCL)/$*.stamp -ot $< ]; then \ echo '$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -E -D__GENKSYMS__ $<'; \ diff -nur linux.aa2/arch/i386/config.in linux/arch/i386/config.in --- linux.aa2/arch/i386/config.in Fri Jan 11 20:57:58 2002 +++ linux/arch/i386/config.in Fri Jan 11 22:20:32 2002 @@ -169,7 +169,11 @@ if [ "$CONFIG_HIGHMEM64G" = "y" ]; then define_bool CONFIG_X86_PAE y else - bool '3.5GB user address space' CONFIG_05GB + choice 'Maximum Virtual Memory' \ + "3GB CONFIG_1GB \ + 2GB CONFIG_2GB \ + 1GB CONFIG_3GB \ + 05GB CONFIG_05GB" 3GB fi if [ "$CONFIG_NOHIGHMEM" = "y" ]; then define_bool CONFIG_NO_PAGE_VIRTUAL y @@ -179,6 +183,7 @@ bool 'HIGHMEM I/O support (EXPERIMENTAL)' CONFIG_HIGHIO fi
+ bool 'Math emulation' CONFIG_MATH_EMULATION bool 'MTRR (Memory Type Range Register) support' CONFIG_MTRR bool 'Symmetric multi-processing support' CONFIG_SMP diff -nur linux.aa2/include/asm-i386/page_offset.h linux/include/asm-i386/page_offset.h --- linux.aa2/include/asm-i386/page_offset.h Fri Jan 11 20:57:58 2002 +++ linux/include/asm-i386/page_offset.h Fri Jan 11 21:20:48 2002 @@ -1,6 +1,10 @@ #include <linux/config.h> -#ifndef CONFIG_05GB -#define PAGE_OFFSET_RAW 0xC0000000 -#else +#ifdef CONFIG_05GB #define PAGE_OFFSET_RAW 0xE0000000 +#elif defined(CONFIG_1GB) +#define PAGE_OFFSET_RAW 0xC0000000 +#elif defined(CONFIG_2GB) +#define PAGE_OFFSET_RAW 0x80000000 +#elif defined(CONFIG_3GB) +#define PAGE_OFFSET_RAW 0x40000000 #endif -- Randy Hron
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |