diff -urN oldtree/arch/i386/Kconfig newtree/arch/i386/Kconfig --- oldtree/arch/i386/Kconfig 2006-01-28 16:36:00.000000000 +0000 +++ newtree/arch/i386/Kconfig 2006-01-28 16:57:19.000682352 +0000 @@ -458,6 +458,20 @@ depends on HIGHMEM64G default y +config 1GLOWMEM + bool "1Gb Low Memory Support" + depends on NOHIGHMEM + default n + help + Linux on i386 architecture normally supports just 896Mb without + enabling HIGHMEM support. This option will enable you to support 1Gb + of ram without needing to enable HIGHMEM support. The advantage of + this is that you don't need the extra overhead of high memory support + to utilise the last 128Mb of ram. However this may break drivers such + as vmware. + + If unsure say "no" + # Common NUMA Features config NUMA bool "Numa Memory Allocation and Scheduler Support" diff -urN oldtree/arch/ia64/configs/tiger_defconfig newtree/arch/ia64/configs/tiger_defconfig --- oldtree/arch/ia64/configs/tiger_defconfig 2006-01-28 16:36:00.000000000 +0000 +++ newtree/arch/ia64/configs/tiger_defconfig 2006-01-28 16:57:19.001682200 +0000 @@ -103,10 +103,10 @@ # CONFIG_IA64_PAGE_SIZE_64KB is not set CONFIG_PGTABLE_3=y # CONFIG_PGTABLE_4 is not set -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set # CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +CONFIG_HZ=100 CONFIG_IA64_L1_CACHE_SHIFT=7 CONFIG_IA64_CYCLONE=y CONFIG_IOSAPIC=y diff -urN oldtree/arch/ia64/configs/zx1_defconfig newtree/arch/ia64/configs/zx1_defconfig --- oldtree/arch/ia64/configs/zx1_defconfig 2006-01-28 16:36:00.000000000 +0000 +++ newtree/arch/ia64/configs/zx1_defconfig 2006-01-28 16:57:19.002682048 +0000 @@ -82,10 +82,10 @@ # CONFIG_IA64_PAGE_SIZE_8KB is not set CONFIG_IA64_PAGE_SIZE_16KB=y # CONFIG_IA64_PAGE_SIZE_64KB is not set -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set # CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +CONFIG_HZ=100 CONFIG_IA64_L1_CACHE_SHIFT=7 # CONFIG_NUMA is not set CONFIG_VIRTUAL_MEM_MAP=y diff -urN oldtree/arch/ppc/configs/common_defconfig newtree/arch/ppc/configs/common_defconfig --- oldtree/arch/ppc/configs/common_defconfig 2006-01-28 16:36:00.000000000 +0000 +++ newtree/arch/ppc/configs/common_defconfig 2006-01-28 16:57:19.003681896 +0000 @@ -140,9 +140,9 @@ # CONFIG_SMP is not set # CONFIG_HIGHMEM is not set # CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +# CONFIG_HZ_250 is not set +CONFIG_HZ_1000=y +CONFIG_HZ=1000 CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set diff -urN oldtree/arch/ppc/configs/pmac_defconfig newtree/arch/ppc/configs/pmac_defconfig --- oldtree/arch/ppc/configs/pmac_defconfig 2006-01-28 16:36:00.000000000 +0000 +++ newtree/arch/ppc/configs/pmac_defconfig 2006-01-28 16:57:19.004681744 +0000 @@ -140,9 +140,9 @@ # CONFIG_SMP is not set # CONFIG_HIGHMEM is not set # CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +# CONFIG_HZ_250 is not set +# CONFIG_HZ_1000=y +CONFIG_HZ=1000 CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set diff -urN oldtree/include/asm-i386/page.h newtree/include/asm-i386/page.h --- oldtree/include/asm-i386/page.h 2006-01-28 16:36:00.000000000 +0000 +++ newtree/include/asm-i386/page.h 2006-01-28 16:57:19.000682352 +0000 @@ -109,13 +109,24 @@ #endif /* __ASSEMBLY__ */ +#ifdef CONFIG_1GLOWMEM +#ifdef __ASSEMBLY__ +#define __PAGE_OFFSET (0xB0000000) +#define __PHYSICAL_START CONFIG_PHYSICAL_START +#else +#define __PAGE_OFFSET (0xB0000000UL) +#define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) +#endif /* __ASSEMBLY__ */ +#else /* CONFIG_1GLOWMEM */ #ifdef __ASSEMBLY__ #define __PAGE_OFFSET (0xC0000000) #define __PHYSICAL_START CONFIG_PHYSICAL_START #else #define __PAGE_OFFSET (0xC0000000UL) #define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) -#endif +#endif /* __ASSEMBLY__ */ +#endif /* CONFIG_1GLOWMEM */ + #define __KERNEL_START (__PAGE_OFFSET + __PHYSICAL_START) diff -urN oldtree/kernel/Kconfig.hz newtree/kernel/Kconfig.hz --- oldtree/kernel/Kconfig.hz 2006-01-28 16:36:00.000000000 +0000 +++ newtree/kernel/Kconfig.hz 2006-01-28 16:57:19.004681744 +0000 @@ -4,7 +4,7 @@ choice prompt "Timer frequency" - default HZ_250 + default HZ_1000 help Allows the configuration of the timer frequency. It is customary to have the timer interrupt run at 1000 HZ but 100 HZ may be more diff -urN oldtree/mm/page-writeback.c newtree/mm/page-writeback.c --- oldtree/mm/page-writeback.c 2006-01-28 16:36:00.000000000 +0000 +++ newtree/mm/page-writeback.c 2006-01-28 16:57:19.005681592 +0000 @@ -69,18 +69,18 @@ /* * The generator of dirty data starts writeback at this percentage */ -int vm_dirty_ratio = 40; +int vm_dirty_ratio = 33; /* * The interval between `kupdate'-style writebacks, in centiseconds * (hundredths of a second) */ -int dirty_writeback_centisecs = 5 * 100; +int dirty_writeback_centisecs = 3 * 100; /* * The longest number of centiseconds for which data is allowed to remain dirty */ -int dirty_expire_centisecs = 30 * 100; +int dirty_expire_centisecs = 15 * 100; /* * Flag that makes the machine dump writes/reads and block dirtyings.