This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / i386 / Kconfig
index 9548873..d4c5d79 100644 (file)
@@ -65,6 +65,8 @@ config X86_VOYAGER
 
 config X86_NUMAQ
        bool "NUMAQ (IBM/Sequent)"
+       select DISCONTIGMEM
+       select NUMA
        help
          This option is used for getting Linux to run on a (IBM/Sequent) NUMA 
          multiquad box. This changes the way that processors are bootstrapped,
@@ -102,10 +104,10 @@ config X86_VISWS
          and vice versa. See <file:Documentation/sgi-visws.txt> for details.
 
 config X86_GENERICARCH
-       bool "Generic architecture (Summit, bigsmp, default)"
+       bool "Generic architecture (Summit, bigsmp, ES7000, default)"
        depends on SMP
        help
-          This option compiles in the Summit, bigsmp, default subarchitectures.
+          This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
          It is intended for a generic binary kernel.
 
 config X86_ES7000
@@ -422,6 +424,54 @@ config X86_OOSTORE
        depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR
        default y
 
+config X86_4G
+       bool "4 GB kernel-space and 4 GB user-space virtual memory support"
+       help
+          This option is only useful for systems that have more than 1 GB
+          of RAM.
+
+          The default kernel VM layout leaves 1 GB of virtual memory for
+          kernel-space mappings, and 3 GB of VM for user-space applications.
+          This option ups both the kernel-space VM and the user-space VM to
+          4 GB.
+
+          The cost of this option is additional TLB flushes done at
+          system-entry points that transition from user-mode into kernel-mode.
+          I.e. system calls and page faults, and IRQs that interrupt user-mode
+          code. There's also additional overhead to kernel operations that copy
+          memory to/from user-space. The overhead from this is hard to tell and
+          depends on the workload - it can be anything from no visible overhead
+          to 20-30% overhead. A good rule of thumb is to count with a runtime
+          overhead of 20%.
+
+          The upside is the much increased kernel-space VM, which more than
+          quadruples the maximum amount of RAM supported. Kernels compiled with
+          this option boot on 64GB of RAM and still have more than 3.1 GB of
+          'lowmem' left. Another bonus is that highmem IO bouncing decreases,
+          if used with drivers that still use bounce-buffers.
+
+          There's also a 33% increase in user-space VM size - database
+          applications might see a boost from this.
+
+          But the cost of the TLB flushes and the runtime overhead has to be
+          weighed against the bonuses offered by the larger VM spaces. The
+          dividing line depends on the actual workload - there might be 4 GB
+          systems that benefit from this option. Systems with less than 4 GB
+          of RAM will rarely see a benefit from this option - but it's not
+          out of question, the exact circumstances have to be considered.
+
+config X86_SWITCH_PAGETABLES
+       def_bool X86_4G
+
+config X86_4G_VM_LAYOUT
+       def_bool X86_4G
+
+config X86_UACCESS_INDIRECT
+       def_bool X86_4G
+
+config X86_HIGH_ENTRY
+       def_bool X86_4G
+
 config HPET_TIMER
        bool "HPET Timer Support"
        help
@@ -434,7 +484,8 @@ config HPET_TIMER
          Choose N to continue using the legacy 8254 timer.
 
 config HPET_EMULATE_RTC
-       def_bool HPET_TIMER && RTC=y
+       bool "Provide RTC interrupt"
+       depends on HPET_TIMER && RTC=y
 
 config SMP
        bool "Symmetric multi-processing support"
@@ -479,6 +530,16 @@ config NR_CPUS
          This is purely to save memory - each supported CPU adds
          approximately eight kilobytes to the kernel image.
 
+config SCHED_SMT
+       bool "SMT (Hyperthreading) scheduler support"
+       depends on SMP
+       default off
+       help
+         SMT scheduler support improves the CPU scheduler's decision making
+         when dealing with Intel Pentium 4 chips with HyperThreading at a
+         cost of slightly increased overhead in some places. If unsure say
+         N here.
+
 config PREEMPT
        bool "Preemptible Kernel"
        help
@@ -538,6 +599,7 @@ config X86_TSC
 
 config X86_MCE
        bool "Machine Check Exception"
+       depends on !X86_VOYAGER
        ---help---
          Machine Check Exception support allows the processor to notify the
          kernel if it detects a problem (e.g. overheating, component failure).
@@ -709,7 +771,7 @@ config X86_PAE
 
 # Common NUMA Features
 config NUMA
-       bool "Numa Memory Allocation Support"
+       bool "Numa Memory Allocation and Scheduler Support"
        depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
        default n if X86_PC
        default y if (X86_NUMAQ || X86_SUMMIT)
@@ -813,7 +875,7 @@ config EFI
        This option is only useful on systems that have EFI firmware
        and will result in a kernel image that is ~8k larger.  In addition,
        you must use the latest ELILO loader available at
-       <ftp://ftp.hpl.hp.com/pub/linux-ia64/> in order to take advantage of
+       <http://elilo.sourceforge.net> in order to take advantage of
        kernel initialization using EFI information (neither GRUB nor LILO know
        anything about EFI).  However, even with this option, the resultant
        kernel should continue to boot on existing non-EFI platforms.
@@ -1275,15 +1337,6 @@ config FRAME_POINTER
          If you don't debug the kernel, you can say N, but we may not be able
          to solve problems without frame pointers.
 
-config 4KSTACKS
-       bool "Use 4Kb for kernel stacks instead of 8Kb"
-       help
-         If you say Y here the kernel will use a 4Kb stacksize for the
-         kernel stack attached to each process/thread. This facilitates
-         running more threads on a system and also reduces the pressure
-         on the VM subsystem for higher order allocations. This option
-         will also use IRQ stacks to compensate for the reduced stackspace.
-
 config X86_FIND_SMP_CONFIG
        bool
        depends on X86_LOCAL_APIC || X86_VOYAGER
@@ -1296,6 +1349,8 @@ config X86_MPPARSE
 
 endmenu
 
+source "kernel/vserver/Kconfig"
+
 source "security/Kconfig"
 
 source "crypto/Kconfig"
@@ -1322,12 +1377,6 @@ config X86_TRAMPOLINE
        depends on X86_SMP || (X86_VOYAGER && SMP)
        default y
 
-# std_resources is overridden for pc9800, but that's not
-# a currently selectable arch choice
-config X86_STD_RESOURCES
-       bool
-       default y
-
 config PC
        bool
        depends on X86 && !EMBEDDED