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.
