19 Oct, 2010

2 commits

  • Provide a mechanism that allows running code in IRQ context. It is
    most useful for NMI code that needs to interact with the rest of the
    system -- like wakeup a task to drain buffers.

    Perf currently has such a mechanism, so extract that and provide it as
    a generic feature, independent of perf so that others may also
    benefit.

    The IRQ context callback is generated through self-IPIs where
    possible, or on architectures like powerpc the decrementer (the
    built-in timer facility) is set to generate an interrupt immediately.

    Architectures that don't have anything like this get to do with a
    callback from the timer tick. These architectures can call
    irq_work_run() at the tail of any IRQ handlers that might enqueue such
    work (like the perf IRQ handler) to avoid undue latencies in
    processing the work.

    Signed-off-by: Peter Zijlstra
    Acked-by: Kyle McMartin
    Acked-by: Martin Schwidefsky
    [ various fixes ]
    Signed-off-by: Huang Ying
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • PERF_COUNT_HW_CACHE_DTLB:READ:MISS had a bogus umask value of 0 which
    counts nothing. Needed to be 0x7 (to count all possibilities).

    PERF_COUNT_HW_CACHE_ITLB:READ:MISS had a bogus umask value of 0 which
    counts nothing. Needed to be 0x3 (to count all possibilities).

    Signed-off-by: Stephane Eranian
    Signed-off-by: Peter Zijlstra
    Cc: Robert Richter
    Cc: # as far back as it applies
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Stephane Eranian
     

15 Oct, 2010

6 commits


14 Oct, 2010

2 commits


08 Oct, 2010

1 commit


07 Oct, 2010

1 commit


06 Oct, 2010

2 commits

  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf trace scripting: Fix extern struct definitions
    perf ui hist browser: Fix segfault on 'a' for annotate
    perf tools: Fix build breakage
    perf, x86: Handle in flight NMIs on P4 platform
    oprofile, ARM: Release resources on failure
    oprofile: Add Support for Intel CPU Family 6 / Model 29

    Linus Torvalds
     
  • With all the recent module loading cleanups, we've minimized the code
    that sits under module_mutex, fixing various deadlocks and making it
    possible to do most of the module loading in parallel.

    However, that whole conversion totally missed the rather obscure code
    that adds a new module to the list for BUG() handling. That code was
    doubly obscure because (a) the code itself lives in lib/bugs.c (for
    dubious reasons) and (b) it gets called from the architecture-specific
    "module_finalize()" rather than from generic code.

    Calling it from arch-specific code makes no sense what-so-ever to begin
    with, and is now actively wrong since that code isn't protected by the
    module loading lock any more.

    So this commit moves the "module_bug_{finalize,cleanup}()" calls away
    from the arch-specific code, and into the generic code - and in the
    process protects it with the module_mutex so that the list operations
    are now safe.

    Future fixups:
    - move the module list handling code into kernel/module.c where it
    belongs.
    - get rid of 'module_bug_list' and just use the regular list of modules
    (called 'modules' - imagine that) that we already create and maintain
    for other reasons.

    Reported-and-tested-by: Thomas Gleixner
    Cc: Rusty Russell
    Cc: Adrian Bunk
    Cc: Andrew Morton
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

05 Oct, 2010

4 commits


02 Oct, 2010

1 commit


01 Oct, 2010

7 commits


30 Sep, 2010

1 commit

  • Stephane reported we've forgot to guard the P4 platform
    against spurious in-flight performance IRQs. Fix it.

    This fixes potential spurious 'dazed and confused' NMI
    messages.

    Reported-by: Stephane Eranian
    Signed-off-by: Cyrill Gorcunov
    Signed-off-by: Don Zickus
    Cc: fweisbec@gmail.com
    Cc: peterz@infradead.org
    Cc: Robert Richter
    Cc: Lin Ming
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Cyrill Gorcunov
     

29 Sep, 2010

2 commits


28 Sep, 2010

3 commits


27 Sep, 2010

2 commits


25 Sep, 2010

1 commit

  • Using cpuid_eax() to determine feature availability on other than
    the current CPU is invalid. And feature availability should also be
    checked in the hotplug code path.

    Signed-off-by: Jan Beulich
    Cc: Rudolf Marek
    Cc: Fenghua Yu
    Signed-off-by: Guenter Roeck

    Jan Beulich
     

24 Sep, 2010

3 commits


23 Sep, 2010

2 commits

  • In the __unmap_single function the dma_addr is rounded down
    to a page boundary before the dma pages are unmapped. The
    address is later also used to flush the TLB entries for that
    mapping. But without the offset into the dma page the amount
    of pages to flush might be miscalculated in the TLB flushing
    path. This patch fixes this bug by using the original
    address to flush the TLB.

    Cc: stable@kernel.org
    Signed-off-by: Joerg Roedel

    Joerg Roedel
     
  • This patch adds a workaround for an IOMMU BIOS problem to
    the AMD IOMMU driver. The result of the bug is that the
    IOMMU does not execute commands anymore when the system
    comes out of the S3 state resulting in system failure. The
    bug in the BIOS is that is does not restore certain hardware
    specific registers correctly. This workaround reads out the
    contents of these registers at boot time and restores them
    on resume from S3. The workaround is limited to the specific
    IOMMU chipset where this problem occurs.

    Cc: stable@kernel.org
    Signed-off-by: Joerg Roedel

    Joerg Roedel