1. 20 Oct, 2010 3 commits
    • Robert Richter's avatar
      apic, x86: Use BIOS settings for IBS and MCE threshold interrupt LVT offsets · 27afdf20
      Robert Richter authored
      We want the BIOS to setup the EILVT APIC registers. The offsets
      were hardcoded and BIOS settings were overwritten by the OS.
      Now, the subsystems for MCE threshold and IBS determine the LVT
      offset from the registers the BIOS has setup. If the BIOS setup
      is buggy on a family 10h system, a workaround enables IBS. If
      the OS determines an invalid register setup, a "[Firmware Bug]:
      " error message is reported.
      
      We need this change also for upcomming cpu families.
      Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
      LKML-Reference: <1286360874-1471-3-git-send-email-robert.richter@amd.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      27afdf20
    • Robert Richter's avatar
      apic, x86: Check if EILVT APIC registers are available (AMD only) · a68c439b
      Robert Richter authored
      This patch implements checks for the availability of LVT entries
      (APIC500-530) and reserves it if used. The check becomes
      necessary since we want to let the BIOS provide the LVT offsets.
       The offsets should be determined by the subsystems using it
      like those for MCE threshold or IBS.  On K8 only offset 0
      (APIC500) and MCE interrupts are supported. Beginning with
      family 10h at least 4 offsets are available.
      
      Since offsets must be consistent for all cores, we keep track of
      the LVT offsets in software and reserve the offset for the same
      vector also to be used on other cores. An offset is freed by
      setting the entry to APIC_EILVT_MASKED.
      
      If the BIOS is right, there should be no conflicts. Otherwise a
      "[Firmware Bug]: ..." error message is generated. However, if
      software does not properly determines the offsets, it is not
      necessarily a BIOS bug.
      Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
      LKML-Reference: <1286360874-1471-2-git-send-email-robert.richter@amd.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a68c439b
    • Ingo Molnar's avatar
      Merge branch 'linus' into irq/core · 14d4962d
      Ingo Molnar authored
      Merge reason: update to almost-final-.36
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      14d4962d
  2. 19 Oct, 2010 1 commit
    • Yinghai Lu's avatar
      x86: ioapic: Call free_irte only if interrupt remapping enabled · 9717967c
      Yinghai Lu authored
      On a system that support intr-rempping when booting with "intremap=off"
      
      [  177.895501] BUG: unable to handle kernel NULL pointer dereference at 00000000000000f8
      [  177.913316] IP: [<ffffffff8145fc18>] free_irte+0x47/0xc0
      ...
      [  178.173326] Call Trace:
      [  178.173574]  [<ffffffff810515b4>] destroy_irq+0x3a/0x75
      [  178.192934]  [<ffffffff81051834>] arch_teardown_msi_irq+0xe/0x10
      [  178.193418]  [<ffffffff81458dc3>] arch_teardown_msi_irqs+0x56/0x7f
      [  178.213021]  [<ffffffff81458e79>] free_msi_irqs+0x8d/0xeb
      
      Call free_irte only when interrupt remapping is enabled.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4CBCB274.7010108@kernel.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      9717967c
  3. 17 Oct, 2010 2 commits
  4. 16 Oct, 2010 6 commits
  5. 15 Oct, 2010 10 commits
  6. 14 Oct, 2010 5 commits
    • Linus Torvalds's avatar
      Linux 2.6.36-rc8 · cd07202c
      Linus Torvalds authored
      cd07202c
    • Linus Torvalds's avatar
      Un-inline the core-dump helper functions · 3aa0ce82
      Linus Torvalds authored
      Tony Luck reports that the addition of the access_ok() check in commit
      0eead9ab ("Don't dump task struct in a.out core-dumps") broke the
      ia64 compile due to missing the necessary header file includes.
      
      Rather than add yet another include (<asm/unistd.h>) to make everything
      happy, just uninline the silly core dump helper functions and move the
      bodies to fs/exec.c where they make a lot more sense.
      
      dump_seek() in particular was too big to be an inline function anyway,
      and none of them are in any way performance-critical.  And we really
      don't need to mess up our include file headers more than they already
      are.
      Reported-and-tested-by: default avatarTony Luck <tony.luck@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3aa0ce82
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · ae42d8d4
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        ehea: Fix a checksum issue on the receive path
        net: allow FEC driver to use fixed PHY support
        tg3: restore rx_dropped accounting
        b44: fix carrier detection on bind
        net: clear heap allocations for privileged ethtool actions
        NET: wimax, fix use after free
        ATM: iphase, remove sleep-inside-atomic
        ATM: mpc, fix use after free
        ATM: solos-pci, remove use after free
        net/fec: carrier off initially to avoid root mount failure
        r8169: use device model DMA API
        r8169: allocate with GFP_KERNEL flag when able to sleep
      ae42d8d4
    • Linus Torvalds's avatar
      Don't dump task struct in a.out core-dumps · 0eead9ab
      Linus Torvalds authored
      akiphie points out that a.out core-dumps have that odd task struct
      dumping that was never used and was never really a good idea (it goes
      back into the mists of history, probably the original core-dumping
      code).  Just remove it.
      
      Also do the access_ok() check on dump_write().  It probably doesn't
      matter (since normal filesystems all seem to do it anyway), but he
      points out that it's normally done by the VFS layer, so ...
      
      [ I suspect that we should possibly do "vfs_write()" instead of
        calling ->write directly.  That also does the whole fsnotify and write
        statistics thing, which may or may not be a good idea. ]
      
      And just to be anal, do this all for the x86-64 32-bit a.out emulation
      code too, even though it's not enabled (and won't currently even
      compile)
      Reported-by: default avatarakiphie <akiphie@lavabit.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0eead9ab
    • Salman Qazi's avatar
      hrtimer: Preserve timer state in remove_hrtimer() · f13d4f97
      Salman Qazi authored
      The race is described as follows:
      
      CPU X                                 CPU Y
      remove_hrtimer
      // state & QUEUED == 0
      timer->state = CALLBACK
      unlock timer base
      timer->f(n) //very long
                                        hrtimer_start
                                          lock timer base
                                          remove_hrtimer // no effect
                                          hrtimer_enqueue
                                          timer->state = CALLBACK |
                                                         QUEUED
                                          unlock timer base
                                        hrtimer_start
                                          lock timer base
                                          remove_hrtimer
                                              mode = INACTIVE
                                              // CALLBACK bit lost!
                                          switch_hrtimer_base
                                                  CALLBACK bit not set:
                                                          timer->base
                                                          changes to a
                                                          different CPU.
      lock this CPU's timer base
      
      The bug was introduced with commit ca109491 (hrtimer: removing all ur
      callback modes) in 2.6.29
      
      [ tglx: Feed new state via local variable and add a comment. ]
      Signed-off-by: default avatarSalman Qazi <sqazi@google.com>
      Cc: akpm@linux-foundation.org
      Cc: Peter Zijlstra <peterz@infradead.org>
      LKML-Reference: <20101012142351.8485.21823.stgit@dungbeetle.mtv.corp.google.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: stable@kernel.org
      f13d4f97
  7. 13 Oct, 2010 12 commits
  8. 12 Oct, 2010 1 commit