Skip to content
  1. Jan 31, 2009
    • Brian Gerst's avatar
      x86: pass in cpu number to switch_to_new_gdt() · 552be871
      Brian Gerst authored
      
      
      Impact: cleanup, prepare for xen boot fix.
      
      Xen needs to call this function very early to setup the GDT and
      per-cpu segments.  Remove the call to smp_processor_id() and just
      pass in the cpu number.
      
      Signed-off-by: default avatarBrian Gerst <brgerst@gmail.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      552be871
    • Cliff Wickman's avatar
      x86: UV fix uv_flush_send_and_wait() · 2749ebe3
      Cliff Wickman authored
      
      
      Impact: fix possible tlb mis-flushing on UV
      
      uv_flush_send_and_wait() should return a pointer if the broadcast
      remote tlb shootdown requests fail. That causes the conventional IPI
      method of shootdown to be used.
      
      Signed-off-by: default avatarCliff Wickman <cpw@sgi.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      2749ebe3
    • Tejun Heo's avatar
      linker script: use separate simpler definition for PERCPU() · 3ac6cffe
      Tejun Heo authored
      
      
      Impact: fix linker screwup on x86_32
      
      Recent x86_64 zerobased patches introduced PERCPU_VADDR() to put
      .data.percpu to a predefined address and re-defined PERCPU() in terms
      of it.  The new macro defined one extra symbol, __per_cpu_load, for
      LMA of the section so that the init data could be accessed.  This new
      symbol introduced the following problems to x86_32.
      
      1. If __per_cpu_load is defined outside of .data.percpu as an absolute
         symbol, relocation generation for relocatable kernel fails due to
         absolute relocation.
      
      2. If __per_cpu_load is put inside .data.percpu with absolute address
         assignment to work around #1, linker gets confused and under
         certain configurations ends up relocating the symbol against
         .data.percpu such that the load address gets added on top of
         already set load address.
      
      As x86_32 doesn't use predefined address for .data.percpu, there's no
      need for it to care about the possibility of __per_cpu_load being
      different from __per_cpu_start.
      
      This patch defines PERCPU() separately so that __per_cpu_load is
      defined inside .data.percpu so that everything is ordinary
      linking-wise.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3ac6cffe
    • Ingo Molnar's avatar
      Merge branch 'linus' into core/percpu · c43e0e46
      Ingo Molnar authored
      Conflicts:
      	kernel/irq/handle.c
      c43e0e46
  2. Jan 30, 2009