1. 20 8月, 2009 6 次提交
  2. 19 8月, 2009 2 次提交
  3. 18 8月, 2009 6 次提交
  4. 16 8月, 2009 3 次提交
    • M
      sh: Add support for DWARF GNU extensions · cd7246f0
      Matt Fleming 提交于
      Also, remove the "fix" to DW_CFA_def_cfa_register where we reset the
      frame's cfa_offset to 0. This action is incorrect when handling
      DW_CFA_def_cfa_register as the DWARF spec specifically states that the
      previous contents of cfa_offset should be used with the new
      register. The reason that I thought cfa_offset should be reset to 0 was
      because it was being assigned a bogus value prior to executing the
      DW_CFA_def_cfa_register op. It turns out that the bogus cfa_offset value
      came from interpreting .cfi_escape pseudo-ops (those used by the GNU
      extensions) as CFA_DW_def_cfa ops.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      cd7246f0
    • M
      sh: Try again at getting the initial return address for an unwind · b955873b
      Matt Fleming 提交于
      The previous hack for calculating the return address for the first frame
      we unwind (dwarf_unwinder_dump) didn't always work. The problem was that
      it assumed once it read the rule for calculating the return address,
      there would be no new rules for calculating it. This isn't true because
      the way in which the CFA is calculated can change as you progress
      through a function and the return address is figured out using the
      CFA. Therefore, the way to calculate the return address can change.
      
      So, instead of using some offset from the beginning of
      dwarf_unwind_stack which is just a flakey approach, and instead of
      executing instructions from the FDE until the return address is setup,
      we now figure out the pc in dwarf_unwind_stack() just before we call
      dwarf_cfa_execute_insns().
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      b955873b
    • P
      sh: Merge the _32/_64 variants of arch/sh/kernel/Makefile. · 38f9ddf4
      Paul Mundt 提交于
      This uses the BITS export as per x86 in order to allow the same Makefile
      to be used.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      38f9ddf4
  5. 15 8月, 2009 11 次提交
  6. 14 8月, 2009 12 次提交
    • P
      sh: unwinder: Convert frame allocations to GFP_ATOMIC. · 0fc11e36
      Paul Mundt 提交于
      save_stack_trace_tsk() and friends can be called from atomic context (as
      triggered by latencytop), and subsequently hit two problematic allocation
      points that were using GFP_KERNEL (these were dwarf_unwind_stack() and
      dwarf_frame_alloc_regs()). Convert these over to GFP_ATOMIC and get
      latencytop working with the DWARF unwinder.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      0fc11e36
    • L
      Linux 2.6.31-rc6 · 64f1607f
      Linus Torvalds 提交于
      64f1607f
    • L
      genirq: prevent wakeup of freed irq thread · 2d860ad7
      Linus Torvalds 提交于
      free_irq() can remove an irqaction while the corresponding interrupt
      is in progress, but free_irq() sets action->thread to NULL
      unconditionally, which might lead to a NULL pointer dereference in
      handle_IRQ_event() when the hard interrupt context tries to wake up
      the handler thread.
      
      Prevent this by moving the thread stop after synchronize_irq(). No
      need to set action->thread to NULL either as action is going to be
      freed anyway.
      
      This fixes a boot crash reported against preempt-rt which uses the
      mainline irq threads code to implement full irq threading.
      
      [ tglx: removed local irqthread variable ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      2d860ad7
    • P
      Merge branch 'sh/dwarf-unwinder' · 718dbf37
      Paul Mundt 提交于
      718dbf37
    • M
      sh: Delete DWARF_ARCH_UNWIND_OFFSET · f8264667
      Matt Fleming 提交于
      Trying to figure out the best value for DWARF_ARCH_UNWIND_OFFSET is
      tricky at best. Various things can change the size (and offset from the
      beginning of the function) of the prologue. Notably, turning on ftrace
      adds calls to mcount at the beginning of functions, thereby pushing the
      prologue further into the function.
      
      So replace DWARF_ARCH_UNWIND_OFFSET with some code that continues to
      execute CFA instructions until the value of return address register is
      defined. This is safe to do because we know that the return address must
      have been pushed onto the frame before our first function call; we just
      can't figure out where at compile-time.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      f8264667
    • P
      sh: oprofile: Kill off dead valid_kernel_stack(). · f54aab4a
      Paul Mundt 提交于
      This is no longer used, kill it off.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      f54aab4a
    • L
      Merge branch 'perfcounters-fixes-for-linus' of... · 3493e84d
      Linus Torvalds 提交于
      Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf_counter: Report the cloning task as parent on perf_counter_fork()
        perf_counter: Fix an ipi-deadlock
        perf: Rework/fix the whole read vs group stuff
        perf_counter: Fix swcounter context invariance
        perf report: Don't show unresolved DSOs and symbols when -S/-d is used
        perf tools: Add a general option to enable raw sample records
        perf tools: Add a per tracepoint counter attribute to get raw sample
        perf_counter: Provide hw_perf_counter_setup_online() APIs
        perf list: Fix large list output by using the pager
        perf_counter, x86: Fix/improve apic fallback
        perf record: Add missing -C option support for specifying profile cpu
        perf tools: Fix dso__new handle() to handle deleted DSOs
        perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available
        perf report: Show the tid too in -D
        perf record: Fix .tid and .pid fill-in when synthesizing events
        perf_counter, x86: Fix generic cache events on P6-mobile CPUs
        perf_counter, x86: Fix lapic printk message
      3493e84d
    • L
      Merge branch 'core-fixes-for-linus' of... · 919aa96a
      Linus Torvalds 提交于
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        futex: Fix handling of bad requeue syscall pairing
        futex: Fix compat_futex to be same as futex for REQUEUE_PI
        locking, sched: Give waitqueue spinlocks their own lockdep classes
        futex: Update futex_q lock_ptr on requeue proxy lock
      919aa96a
    • L
      Merge branch 'x86-fixes-for-linus' of... · 1c2ffff4
      Linus Torvalds 提交于
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86: Fix oops in identify_cpu() on CPUs without CPUID
        x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag
        x86, mce: therm_throt - change when we print messages
        x86: Add reboot quirk for every 5 series MacBook/Pro
      1c2ffff4
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 · bc7af9ba
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (22 commits)
        ocfs2: Fix possible deadlock when extending quota file
        ocfs2: keep index within status_map[]
        ocfs2: Initialize the cluster we're writing to in a non-sparse extend
        ocfs2: Remove redundant BUG_ON in __dlm_queue_ast()
        ocfs2/quota: Release lock for error in ocfs2_quota_write.
        ocfs2: Define credit counts for quota operations
        ocfs2: Remove syncjiff field from quota info
        ocfs2: Fix initialization of blockcheck stats
        ocfs2: Zero out padding of on disk dquot structure
        ocfs2: Initialize blocks allocated to local quota file
        ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq()
        ocfs2: Make global quota files blocksize aligned
        ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records.
        ocfs2: Fix deadlock on umount
        ocfs2: Add extra credits and access the modified bh in update_edge_lengths.
        ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation
        ocfs2: Fix error return in ocfs2_write_cluster()
        ocfs2: Fix compilation warning for fs/ocfs2/xattr.c
        ocfs2: Initialize count in aio_write before generic_write_checks
        ocfs2: log the actual return value of ocfs2_file_aio_write()
        ...
      bc7af9ba
    • P
      sh: unwinder: Restore put_unaligned() for an unaligned destination. · bf43a160
      Paul Mundt 提交于
      The destination address might be unaligned, so set it with
      put_unaligned() for safety. This restores the previous behaviour, albeit
      through the proper API.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      bf43a160
    • L
      Merge branch 'for-linus' of git://neil.brown.name/md · d58d2d1a
      Linus Torvalds 提交于
      * 'for-linus' of git://neil.brown.name/md:
        md: allow upper limit for resync/reshape to be set when array is read-only
        md/raid5: Properly remove excess drives after shrinking a raid5/6
        md/raid5: make sure a reshape restarts at the correct address.
        md/raid5: allow new reshape modes to be restarted in the middle.
        md: never advance 'events' counter by more than 1.
        Remove deadlock potential in md_open
      d58d2d1a