1. 19 8月, 2008 3 次提交
  2. 17 8月, 2008 5 次提交
  3. 16 8月, 2008 2 次提交
  4. 15 8月, 2008 5 次提交
  5. 12 8月, 2008 2 次提交
  6. 11 8月, 2008 1 次提交
  7. 24 7月, 2008 2 次提交
  8. 21 7月, 2008 1 次提交
  9. 20 7月, 2008 1 次提交
    • S
      x86: APIC: Remove apic_write_around(); use alternatives, merge fix · f586bf7d
      Suresh Siddha 提交于
      On Fri, Jul 18, 2008 at 02:03:48PM -0700, Ingo Molnar wrote:
      >
      > * Yinghai Lu <yhlu.kernel@gmail.com> wrote:
      >
      > > > git merge tip/x86/x2apic
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/Makefile
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/paravirt.c
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/smpboot.c
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/vmi_32.c
      > > CONFLICT (content): Merge conflict in arch/x86/xen/enlighten.c
      > > CONFLICT (content): Merge conflict in include/asm-x86/apic.h
      > > CONFLICT (content): Merge conflict in include/asm-x86/paravirt.h
      >
      > that's due to the changes in tip/x86/apic and in tip/x86/uv.
      >
      > ok, i've just merged x86/apic into x86/x2apic and x86/uv as well, and
      > pushed out the result.
      >
      > Note: it's a first raw merge and completely untested. It will now merge
      > cleanly into tip/master. There are probably a few details missing.
      
      Ingo, thanks for doing this. While I was testing my merge changes, you posted
      yours... anyhow we need this piece, which is missing from your merge.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Yinghai Lu <yhlu.kernel@gmail.com>
      Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Zachary Amsden <zach@vmware.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f586bf7d
  10. 19 7月, 2008 1 次提交
  11. 18 7月, 2008 3 次提交
    • M
      x86: APIC: Make apic_verbosity unsigned · baa13188
      Maciej W. Rozycki 提交于
      As a microoptimisation, make apic_verbosity unsigned.  This will make
      apic_printk(APIC_QUIET, ...) expand into just printk(...) with the
      surrounding condition and a reference to apic_verbosity removed.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      baa13188
    • C
      x86: apic_32 - introduce calibrate_APIC_clock · 836c129d
      Cyrill Gorcunov 提交于
      Introduce calibrate_APIC_clock so it could help in further 32/64bit
      apic code merging.
      Signed-off-by: NCyrill Gorcunov <gorcunov@gmail.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: macro@linux-mips.org
      Cc: yhlu.kernel@gmail.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      836c129d
    • M
      x86: APIC: remove apic_write_around(); use alternatives · 593f4a78
      Maciej W. Rozycki 提交于
      Use alternatives to select the workaround for the 11AP Pentium erratum
      for the affected steppings on the fly rather than build time.  Remove the
      X86_GOOD_APIC configuration option and replace all the calls to
      apic_write_around() with plain apic_write(), protecting accesses to the
      ESR as appropriate due to the 3AP Pentium erratum.  Remove
      apic_read_around() and all its invocations altogether as not needed.
      Remove apic_write_atomic() and all its implementing backends.  The use of
      ASM_OUTPUT2() is not strictly needed for input constraints, but I have
      used it for readability's sake.
      
      I had the feeling no one else was brave enough to do it, so I went ahead
      and here it is.  Verified by checking the generated assembly and tested
      with both a 32-bit and a 64-bit configuration, also with the 11AP
      "feature" forced on and verified with gdb on /proc/kcore to work as
      expected (as an 11AP machines are quite hard to get hands on these days).
      Some script complained about the use of "volatile", but apic_write() needs
      it for the same reason and is effectively a replacement for writel(), so I
      have disregarded it.
      
      I am not sure what the policy wrt defconfig files is, they are generated
      and there is risk of a conflict resulting from an unrelated change, so I
      have left changes to them out.  The option will get removed from them at
      the next run.
      
      Some testing with machines other than mine will be needed to avoid some
      stupid mistake, but despite its volume, the change is not really that
      intrusive, so I am fairly confident that because it works for me, it will
      everywhere.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      593f4a78
  12. 12 7月, 2008 3 次提交
  13. 11 7月, 2008 1 次提交
  14. 09 7月, 2008 1 次提交
  15. 08 7月, 2008 9 次提交
    • Y
      x86: use disable_apic in 32bit · 914bebfa
      Yinghai Lu 提交于
      change the enable_local_apic to static force_enable_local_apic for 32bit
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      914bebfa
    • Y
      x86: let setup_arch call init_apic_mappings for 32bit · f3294a33
      Yinghai Lu 提交于
      instead of calling it from trap_init()
      
      also move init ioapic mapping out of apic_32.c
      
      so 32 bit do same as 64 bit
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f3294a33
    • C
      x86: nmi_watchdog - use nmi_watchdog variable for printing · 116f570e
      Cyrill Gorcunov 提交于
      Since it is possible NMI_ definitions could be changed
      one day we better print out real nmi_watchdog value instead
      of constant string.
      Signed-off-by: NCyrill Gorcunov <gorcunov@gmail.com>
      Cc: macro@linux-mips.org
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      116f570e
    • Y
      x86: check command line when CONFIG_X86_MPPARSE is not set, v2 · 3c999f14
      Yinghai Lu 提交于
      if acpi=off, acpi=noirq and pci=noacpi, we need to disable apic.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3c999f14
    • J
      x86: fix stack overflow for large values of MAX_APICS · b6df1b8b
      Jack Steiner 提交于
      physid_mask_of_physid() causes a huge stack (12k) to be created if the
      number of APICS is large. Replace physid_mask_of_physid() with a
      new function that does not create large stacks. This is a problem only
      on large x86_64 systems.
      
      this paves the way to increase MAX_APICS.
      Signed-off-by: NJack Steiner <steiner@sgi.com>
      Cc: linux-mm@kvack.org
      Cc: mingo@elte.hu
      Cc: tglx@linutronix.de
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b6df1b8b
    • M
      x86: cleanup early per cpu variables/accesses v4 · 23ca4bba
      Mike Travis 提交于
        * Introduce a new PER_CPU macro called "EARLY_PER_CPU".  This is
          used by some per_cpu variables that are initialized and accessed
          before there are per_cpu areas allocated.
      
          ["Early" in respect to per_cpu variables is "earlier than the per_cpu
          areas have been setup".]
      
          This patchset adds these new macros:
      
      	DEFINE_EARLY_PER_CPU(_type, _name, _initvalue)
      	EXPORT_EARLY_PER_CPU_SYMBOL(_name)
      	DECLARE_EARLY_PER_CPU(_type, _name)
      
      	early_per_cpu_ptr(_name)
      	early_per_cpu_map(_name, _idx)
      	early_per_cpu(_name, _cpu)
      
          The DEFINE macro defines the per_cpu variable as well as the early
          map and pointer.  It also initializes the per_cpu variable and map
          elements to "_initvalue".  The early_* macros provide access to
          the initial map (usually setup during system init) and the early
          pointer.  This pointer is initialized to point to the early map
          but is then NULL'ed when the actual per_cpu areas are setup.  After
          that the per_cpu variable is the correct access to the variable.
      
          The early_per_cpu() macro is not very efficient but does show how to
          access the variable if you have a function that can be called both
          "early" and "late".  It tests the early ptr to be NULL, and if not
          then it's still valid.  Otherwise, the per_cpu variable is used
          instead:
      
      	#define early_per_cpu(_name, _cpu) 			\
      		(early_per_cpu_ptr(_name) ?			\
      			early_per_cpu_ptr(_name)[_cpu] :	\
      			per_cpu(_name, _cpu))
      
          A better method is to actually check the pointer manually.  In the
          case below, numa_set_node can be called both "early" and "late":
      
      	void __cpuinit numa_set_node(int cpu, int node)
      	{
      	    int *cpu_to_node_map = early_per_cpu_ptr(x86_cpu_to_node_map);
      
      	    if (cpu_to_node_map)
      		    cpu_to_node_map[cpu] = node;
      	    else
      		    per_cpu(x86_cpu_to_node_map, cpu) = node;
      	}
      
        * Add a flag "arch_provides_topology_pointers" that indicates pointers
          to topology cpumask_t maps are available.  Otherwise, use the function
          returning the cpumask_t value.  This is useful if cpumask_t set size
          is very large to avoid copying data on to/off of the stack.
      
        * The coverage of CONFIG_DEBUG_PER_CPU_MAPS has been increased while
          the non-debug case has been optimized a bit.
      
        * Remove an unreferenced compiler warning in drivers/base/topology.c
      
        * Clean up #ifdef in setup.c
      
      For inclusion into sched-devel/latest tree.
      
      Based on:
      	git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
          +   sched-devel/latest  .../mingo/linux-2.6-sched-devel.git
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      23ca4bba
    • M
      x86: APIC/UP: Remove redundant NMI watchdog downgrade · 19662027
      Maciej W. Rozycki 提交于
      For the UP case the NMI watchdog downgrade is done consistently in
      APIC_init_uniprocessor() now.  Remove redundant code used only when
      BIOS-disabled local APIC is activated.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      19662027
    • M
      x86: APIC/UP: Downgrade the NMI watchdog for no I/O APIC · acae7d90
      Maciej W. Rozycki 提交于
       If configured to use the I/O APIC, the NMI watchdog is deemed to fail if
      the chip will not be used in the UP configuration, because "noapic" has
      been specified or the chip is simply not there.  Downgrade to the local
      APIC watchdog to rectify.
      
      The new #ifdef is ugly, I know.  A proper solution is to provide suitable
      definitions of smp_found_config, etc. for !CONFIG_X86_IO_APIC in a header.
      Likewise the whole if () condition should be moved to a static inline
      function.  Such clean-ups are beyond the scope of this change and can be
      done once the whole issue of the timer has been sorted out.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      acae7d90
    • I
      Revert "x86, io-apic: fix nmi_watchdog=1 bootup hang" · ab5a5be0
      Ingo Molnar 提交于
      This reverts commit 2229ff84f01746d02fb6b79e156fb5cce48c908f.
      
      A better fix from Maciej will be merged.
      ab5a5be0