1. 07 12月, 2006 4 次提交
    • R
      [PATCH] paravirt: header and stubs for paravirtualisation · d3561b7f
      Rusty Russell 提交于
      Create a paravirt.h header for all the critical operations which need to be
      replaced with hypervisor calls, and include that instead of defining native
      operations, when CONFIG_PARAVIRT.
      
      This patch does the dumbest possible replacement of paravirtualized
      instructions: calls through a "paravirt_ops" structure.  Currently these are
      function implementations of native hardware: hypervisors will override the ops
      structure with their own variants.
      
      All the pv-ops functions are declared "fastcall" so that a specific
      register-based ABI is used, to make inlining assember easier.
      
      And:
      
      +From: Andy Whitcroft <apw@shadowen.org>
      
      The paravirt ops introduce a 'weak' attribute onto memory_setup().
      Code ordering leads to the following warnings on x86:
      
          arch/i386/kernel/setup.c:651: warning: weak declaration of
                      `memory_setup' after first use results in unspecified behavior
      
      Move memory_setup() to avoid this.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NChris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Zachary Amsden <zach@vmware.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      d3561b7f
    • V
      [PATCH] i386: Mark CONFIG_RELOCATABLE EXPERIMENTAL · 4c7aa6c3
      Vivek Goyal 提交于
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      4c7aa6c3
    • V
      [PATCH] i386: Implement CONFIG_PHYSICAL_ALIGN · e69f202d
      Vivek Goyal 提交于
      o Now CONFIG_PHYSICAL_START is being replaced with CONFIG_PHYSICAL_ALIGN.
        Hardcoding the kernel physical start value creates a problem in relocatable
        kernel context due to boot loader limitations. For ex, if somebody
        compiles a relocatable kernel to be run from address 4MB, but this kernel
        will run from location 1MB as grub loads the kernel at physical address
        1MB. Kernel thinks that I am a relocatable kernel and I should run from
        the address I have been loaded at. So somebody wanting to run kernel
        from 4MB alignment location (for improved performance regions) can't do
        that.
      
      o Hence, Eric proposed that probably CONFIG_PHYSICAL_ALIGN will make
        more sense in relocatable kernel context. At run time kernel will move
        itself to a physical addr location which meets user specified alignment
        restrictions.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      e69f202d
    • E
      [PATCH] i386: Relocatable kernel support · 968de4f0
      Eric W. Biederman 提交于
      This patch modifies the i386 kernel so that if CONFIG_RELOCATABLE is
      selected it will be able to be loaded at any 4K aligned address below
      1G.  The technique used is to compile the decompressor with -fPIC and
      modify it so the decompressor is fully relocatable.  For the main
      kernel relocations are generated.  Resulting in a kernel that is relocatable
      with no runtime overhead and no need to modify the source code.
      
      A reserved 32bit word in the parameters has been assigned
      to serve as a stack so we figure out where are running.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      968de4f0
  2. 04 10月, 2006 1 次提交
    • M
      Attack of "the the"s in arch · 4b3f686d
      Matt LaPlante 提交于
      The patch below corrects multiple occurances of "the the"
      typos across several files, both in source comments and KConfig files.
      There is no actual code changed, only text.  Note this only affects the /arch
      directory, and I believe I could find many more elsewhere. :)
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      4b3f686d
  3. 02 10月, 2006 1 次提交
    • A
      [PATCH] Kprobes: Make kprobe modules more portable · 3a872d89
      Ananth N Mavinakayanahalli 提交于
      In an effort to make kprobe modules more portable, here is a patch that:
      
      o Introduces the "symbol_name" field to struct kprobe.
        The symbol->address resolution now happens in the kernel in an
        architecture agnostic manner. 64-bit powerpc users no longer have
        to specify the ".symbols"
      o Introduces the "offset" field to struct kprobe to allow a user to
        specify an offset into a symbol.
      o The legacy mechanism of specifying the kprobe.addr is still supported.
        However, if both the kprobe.addr and kprobe.symbol_name are specified,
        probe registration fails with an -EINVAL.
      o The symbol resolution code uses kallsyms_lookup_name(). So
        CONFIG_KPROBES now depends on CONFIG_KALLSYMS
      o Apparantly kprobe modules were the only legitimate out-of-tree user of
        the kallsyms_lookup_name() EXPORT. Now that the symbol resolution
        happens in-kernel, remove the EXPORT as suggested by Christoph Hellwig
      o Modify tcp_probe.c that uses the kprobe interface so as to make it
        work on multiple platforms (in its earlier form, the code wouldn't
        work, say, on powerpc)
      Signed-off-by: NAnanth N Mavinakayanahalli <ananth@in.ibm.com>
      Signed-off-by: NPrasanna S Panchamukhi <prasanna@in.ibm.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3a872d89
  4. 27 9月, 2006 3 次提交
  5. 26 9月, 2006 5 次提交
  6. 28 8月, 2006 1 次提交
  7. 01 8月, 2006 1 次提交
  8. 04 7月, 2006 2 次提交
  9. 01 7月, 2006 1 次提交
  10. 30 6月, 2006 2 次提交
  11. 28 6月, 2006 3 次提交
    • I
      [PATCH] vdso: randomize the i386 vDSO by moving it into a vma · e6e5494c
      Ingo Molnar 提交于
      Move the i386 VDSO down into a vma and thus randomize it.
      
      Besides the security implications, this feature also helps debuggers, which
      can COW a vma-backed VDSO just like a normal DSO and can thus do
      single-stepping and other debugging features.
      
      It's good for hypervisors (Xen, VMWare) too, which typically live in the same
      high-mapped address space as the VDSO, hence whenever the VDSO is used, they
      get lots of guest pagefaults and have to fix such guest accesses up - which
      slows things down instead of speeding things up (the primary purpose of the
      VDSO).
      
      There's a new CONFIG_COMPAT_VDSO (default=y) option, which provides support
      for older glibcs that still rely on a prelinked high-mapped VDSO.  Newer
      distributions (using glibc 2.3.3 or later) can turn this option off.  Turning
      it off is also recommended for security reasons: attackers cannot use the
      predictable high-mapped VDSO page as syscall trampoline anymore.
      
      There is a new vdso=[0|1] boot option as well, and a runtime
      /proc/sys/vm/vdso_enabled sysctl switch, that allows the VDSO to be turned
      on/off.
      
      (This version of the VDSO-randomization patch also has working ELF
      coredumping, the previous patch crashed in the coredumping code.)
      
      This code is a combined work of the exec-shield VDSO randomization
      code and Gerd Hoffmann's hypervisor-centric VDSO patch. Rusty Russell
      started this patch and i completed it.
      
      [akpm@osdl.org: cleanups]
      [akpm@osdl.org: compile fix]
      [akpm@osdl.org: compile fix 2]
      [akpm@osdl.org: compile fix 3]
      [akpm@osdl.org: revernt MAXMEM change]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NArjan van de Ven <arjan@infradead.org>
      Cc: Gerd Hoffmann <kraxel@suse.de>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Zachary Amsden <zach@vmware.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Jan Beulich <jbeulich@novell.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e6e5494c
    • J
      [PATCH] fix subarchitecture breakage with CONFIG_SCHED_SMT · 96c52749
      James Bottomley 提交于
      Commit 1e9f28fa ("[PATCH] sched: new
      sched domain for representing multi-core") incorrectly made SCHED_SMT
      and some of the structures it uses dependent on SMP.
      
      However, this is wrong, the structures are only defined if X86_HT, so
      SCHED_SMT has to depend on that as well.
      
      The patch broke voyager, since it doesn't provide any of the multi-core
      or hyperthreading structures.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      96c52749
    • G
      [PATCH] 64bit Resource: finally enable 64bit resource sizes · 6550e07f
      Greg Kroah-Hartman 提交于
      Introduce the Kconfig entry and actually switch to a 64bit value, if
      wanted, for resource_size_t.
      
      Based on a patch series originally from Vivek Goyal <vgoyal@in.ibm.com>
      
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6550e07f
  12. 27 6月, 2006 5 次提交
  13. 23 6月, 2006 2 次提交
  14. 16 5月, 2006 1 次提交
  15. 28 4月, 2006 2 次提交
    • A
      [PATCH] Mark VMSPLIT EMBEDDED · 9539d4e7
      Andi Kleen 提交于
      Running abnormal VM splits causes weird problems - people can set non-standard
      splits by accident, then lots of time gets wasted diagnosing it - see the long
      "[stable] 2.6.16.6 breaks java...  sort of" email thread.
      
      So we need to make this option harder to set.  Use CONFIG_EMBEDDED for this.
      
      CONFIG_EMBEDDED isn't really the right thing to use, but there's nothing else
      obvious and avoiding these problems is more important than Kconfig purity.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Adrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9539d4e7
    • A
      [PATCH] enable X86_PC for HOTPLUG_CPU · 35076bdf
      Ashok Raj 提交于
      CPU_HOTPLUG has race conditions when we use broadcast mode IPI.
      
      - First we introduced no_broadcast option
          (see include/asm-i386/mach-default/mach_ipi.h)
      
      - x86_64 solved it by using physical flat mode (same as bigsmp on i386)
        since this will not use broadcast shortcuts for IPI.
      
      - We switched to use bigsmp on i386 so that we can have same handling as
        x86_64, but apparently this caused an error message, if kernel was
        compiled without X86_GENERICARCH, X86_BIGSMP.  The message "You have >8
        CPUS..." which was bogus and misleading, and only indicated one of the
        above ARCH wasnt selected.
      
      So we do not switch to automatic bigsmp for HOTPLUG_CPU support in i386
      until the other related config dependencies for SMP_SUSPEND etc can be done
      right.
      Signed-off-by: NAshok Raj <ashok.raj@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      35076bdf
  16. 11 4月, 2006 3 次提交
  17. 28 3月, 2006 1 次提交
    • S
      [PATCH] sched: new sched domain for representing multi-core · 1e9f28fa
      Siddha, Suresh B 提交于
      Add a new sched domain for representing multi-core with shared caches
      between cores.  Consider a dual package system, each package containing two
      cores and with last level cache shared between cores with in a package.  If
      there are two runnable processes, with this appended patch those two
      processes will be scheduled on different packages.
      
      On such systems, with this patch we have observed 8% perf improvement with
      specJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2
      users).
      
      This new domain will come into play only on multi-core systems with shared
      caches.  On other systems, this sched domain will be removed by domain
      degeneration code.  This new domain can be also used for implementing power
      savings policy (see OLS 2005 CMP kernel scheduler paper for more details..
      I will post another patch for power savings policy soon)
      
      Most of the arch/* file changes are for cpu_coregroup_map() implementation.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1e9f28fa
  18. 27 3月, 2006 1 次提交
  19. 26 3月, 2006 1 次提交
    • A
      [PATCH] x86: make CONFIG_HOTPLUG_CPU depend on !X86_PC · d3f4aaa3
      Ashok Raj 提交于
      Make CONFIG_HOTPLUG_CPU depend on !X86_PC, so we need to turn on either
      CONFIG_GENERICARCH, CONFIG_BIGSMP or any other subarch except X86_PC when
      CONFIG_HOTPLUG_CPU=y
      
      With 2.6.15+ kernels when CONFIG_HOTPLUG_CPU is turned on we switch to
      bigsmp mode for sending IPI's and ioapic configurations that caused the
      following error message.
      
      >> More than 8 CPUs detected and CONFIG_X86_PC cannot handle it.
      >> Use CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.
      
      Originally bigsmp was added just to handle >8 cpus, but now with hotplug
      cpu support we need to use bigsmp mode (why?  see below), that cause the
      above error message even if there were less than 8 cpus in the system.
      
      The message is bogus, but we are cannot use logical flat mode due to issues
      with broadcast IPI can confuse a CPU just comming up.  We use flat physical
      mode just like x86_64 case.  More details on why bigsmp now uses flat
      physical mode (vs.  cluster mode) in following link.
      
      http://marc.theaimsgroup.com/?l=linux-kernel&m=113261865814107&w=2Signed-off-by: NAshok Raj <ashok.raj@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d3f4aaa3