1. 23 6月, 2007 1 次提交
  2. 21 6月, 2007 1 次提交
  3. 09 6月, 2007 1 次提交
    • A
      x86_64: oops_begin() fix · b39b7036
      Andrew Morton 提交于
      We don't want to see this:
      
      >  BUG: using smp_processor_id() in preemptible [00000001] code: bash/3857
      >  caller is oops_begin+0xb/0x6f
      >
      >  Call Trace:
      >  [<ffffffff8020ab4d>] show_trace+0x34/0x4f
      >  [<ffffffff8020ab7a>] dump_stack+0x12/0x17
      >  [<ffffffff8030d92d>] debug_smp_processor_id+0xad/0xbc
      >  [<ffffffff8042388f>] oops_begin+0xb/0x6f
      >  [<ffffffff8042520b>] do_page_fault+0x66a/0x7c0
      >  [<ffffffff804234bd>] error_exit+0x0/0x84
      >
      
      coming out when the kernel is trying to oops.
      
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b39b7036
  4. 24 5月, 2007 1 次提交
  5. 22 5月, 2007 3 次提交
    • J
      x86_64: vsyscall time() fix · d0aff6e6
      john stultz 提交于
      The vsyscall time() function basically returns the second portion of
      xtime directly.  This however means that there is about a ticks worth of
      time each second where time() will return a second value less then what
      gettimeofday() does.
      
      Additionally, this window where vtime() is behind vgettimeofday() grows
      when dynticks is enabled, so its probably good to get this in before
      dynticks lands.
      
      Big thanks to Sripathi for noticing this issue and creating a test case
      to work with!
      
      This patch changes the vtime() implemenation to call vgettimeofday(),
      much as syscall time() implementation calls gettimeofday().
      
      2.6.21 stable candidate too
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d0aff6e6
    • Y
      x86_64: early_print kernel console should send CRLF not LFCR · d8902bfc
      Yinghai Lu 提交于
      In
      	commit d358788f
      	Author: Russell King <rmk@dyn-67.arm.linux.org.uk>
      	Date:   Mon Mar 20 20:00:09 2006 +0000
      
      Glen Turner reported that writing LFCR rather than the more
      traditional CRLF causes issues with some terminals.
      
      Since this afflicts many serial drivers, extract the common code to a
      library function (uart_console_write) and arrange for each driver to
      supply a "putchar" function.
      
      but early_printk is left out.
      Signed-off-by: NYinghai Lu <yinghai.lu@sun.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d8902bfc
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  6. 19 5月, 2007 2 次提交
  7. 15 5月, 2007 1 次提交
    • L
      Revert "ipmi: add new IPMI nmi watchdog handling" · faa8b6c3
      Linus Torvalds 提交于
      This reverts commit f64da958.
      
      Andi Kleen is unhappy with the changes, and they really do not seem
      worth it.  IPMI could use DIE_NMI_IPI instead of the new callback, even
      though that ends up having its own set of problems too, mainly because
      the IPMI code cannot really know the NMI was from IPMI or not.
      
      Manually fix up conflicts in arch/x86_64/kernel/traps.c and
      drivers/char/ipmi/ipmi_watchdog.c.
      
      Cc: Andi Kleen <ak@suse.de>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      faa8b6c3
  8. 13 5月, 2007 1 次提交
  9. 12 5月, 2007 2 次提交
  10. 11 5月, 2007 4 次提交
  11. 10 5月, 2007 2 次提交
  12. 09 5月, 2007 11 次提交
  13. 08 5月, 2007 2 次提交
  14. 07 5月, 2007 1 次提交
    • L
      Revert "[PATCH] x86: __pa and __pa_symbol address space separation" · e3ebadd9
      Linus Torvalds 提交于
      This was broken.  It adds complexity, for no good reason.  Rather than
      separate __pa() and __pa_symbol(), we should deprecate __pa_symbol(),
      and preferably __pa() too - and just use "virt_to_phys()" instead, which
      is more readable and has nicer semantics.
      
      However, right now, just undo the separation, and make __pa_symbol() be
      the exact same as __pa().  That fixes the bugs this patch introduced,
      and we can do the fairly obvious cleanups later.
      
      Do the new __phys_addr() function (which is now the actual workhorse for
      the unified __pa()/__pa_symbol()) as a real external function, that way
      all the potential issues with compile/link-time optimizations of
      constant symbol addresses go away, and we can also, if we choose to, add
      more sanity-checking of the argument.
      
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e3ebadd9
  15. 03 5月, 2007 7 次提交
    • M
      MSI: arch must connect the irq and the msi_desc · 7fe3730d
      Michael Ellerman 提交于
      set_irq_msi() currently connects an irq_desc to an msi_desc. The archs call
      it at some point in their setup routine, and then the generic code sets up the
      reverse mapping from the msi_desc back to the irq.
      
      set_irq_msi() should do both connections, making it the one and only call
      required to connect an irq with it's MSI desc and vice versa.
      
      The arch code MUST call set_irq_msi(), and it must do so only once it's sure
      it's not going to fail the irq allocation.
      
      Given that there's no need for the arch to return the irq anymore, the return
      value from the arch setup routine just becomes 0 for success and anything else
      for failure.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7fe3730d
    • A
      [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c · f19cccf3
      Andi Kleen 提交于
      Fix:
      
      In file included from include2/asm/apic.h:5,
                       from include2/asm/smp.h:15,
                       from linux/arch/x86_64/kernel/genapic_flat.c:18:
      linux/include/linux/pm.h: In function ‘call_platform_enable_wakeup’:
      linux/include/linux/pm.h:331: error: ‘EIO’ undeclared (first use in this function)
      linux/include/linux/pm.h:331: error: (Each undeclared identifier is reported only once
      linux/include/linux/pm.h:331: error: for each function it appears in.)
      Signed-off-by: NAndi Kleen <ak@suse.de>
      f19cccf3
    • A
      [PATCH] x86-64: Remove CONFIG_REORDER · 2136220d
      Andi Kleen 提交于
      The option never worked well and functionlist wasn't well maintained.
      Also it made the build very slow on many binutils version.
      
      So just remove it.
      
      Cc: arjan@linux.intel.com
      Signed-off-by: NAndi Kleen <ak@suse.de>
      2136220d
    • A
      [PATCH] x86-64: Use symbolic CPU features in early CPUID check · 72b1b1d0
      Andi Kleen 提交于
      Dead to magic numbers!
      
      Generated code is the same.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      72b1b1d0
    • D
      [PATCH] x86-64: Avoid overflows during apic timer calibration · 4637a74c
      David P. Reed 提交于
      - Use 64bit TSC calculations to avoid handling overflow
      - Use 32bit unsigned arithmetic for the APIC timer. This
      way overflows are handled correctly.
      - Fix exit check of loop to account for apic timer counting down
      
      Signed-off-by: dpreed@reed.com
      Signed-off-by: NAndi Kleen <ak@suse.de>
      4637a74c
    • A
      [PATCH] x86-64: Use the 32bit wd_ops for 64bit too. · 05cb007d
      Andi Kleen 提交于
      This mainly removes a lot of code, replacing it with calls into the new 32bit
      perfctr-watchdog.c
      Signed-off-by: NAndi Kleen <ak@suse.de>
      05cb007d
    • T
      [PATCH] x86-64: Dynamically adjust machine check interval · 8a336b0a
      Tim Hockin 提交于
      Background:
       We've found that MCEs (specifically DRAM SBEs) tend to come in bunches,
       especially when we are trying really hard to stress the system out.  The
       current MCE poller uses a static interval which does not care whether it
       has or has not found MCEs recently.
      
      Description:
       This patch makes the MCE poller adjust the polling interval dynamically.
       If we find an MCE, poll 2x faster (down to 10 ms).  When we stop finding
       MCEs, poll 2x slower (up to check_interval seconds).  The check_interval
       tunable becomes the max polling interval.  The "Machine check events
       logged" printk() is rate limited to the check_interval, which should be
       identical behavior to the old functionality.
      
      Result:
       If you start to take a lot of correctable errors (not exceptions), you
       log them faster and more accurately (less chance of overflowing the MCA
       registers).  If you don't take a lot of errors, you will see no change.
      
      Alternatives:
       I considered simply reducing the polling interval to 10 ms immediately
       and keeping it there as long as we continue to find errors.  This felt a
       bit heavy handed, but does perform significantly better for the default
       check_interval of 5 minutes (we're using a few seconds when testing for
       DRAM errors).  I could be convinced to go with this, if anyone felt it
       was not too aggressive.
      
      Testing:
       I used an error-injecting DIMM to create lots of correctable DRAM errors
       and verified that the polling interval accelerates.  The printk() only
       happens once per check_interval seconds.
      
      Patch:
       This patch is against 2.6.21-rc7.
      Signed-Off-By: NTim Hockin <thockin@google.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      8a336b0a