Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 23 May 2011 16:25:52 +0000 (09:25 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 23 May 2011 16:25:52 +0000 (09:25 -0700)
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  perf tools: Fix sample size bit operations
  perf tools: Fix ommitted mmap data update on remap
  watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh
  watchdog: Disable watchdog when thresh is zero
  watchdog: Only disable/enable watchdog if neccessary
  watchdog: Fix rounding bug in get_sample_period()
  perf tools: Propagate event parse error handling
  perf tools: Robustify dynamic sample content fetch
  perf tools: Pre-check sample size before parsing
  perf tools: Move evlist sample helpers to evlist area
  perf tools: Remove junk code in mmap size handling
  perf tools: Check we are able to read the event size on mmap

1  2 
include/linux/sched.h
tools/perf/util/include/linux/list.h

diff --combined include/linux/sched.h
@@@ -315,7 -315,6 +315,6 @@@ extern int proc_dowatchdog_thresh(struc
                                  void __user *buffer,
                                  size_t *lenp, loff_t *ppos);
  extern unsigned int  softlockup_panic;
- extern int softlockup_thresh;
  void lockup_detector_init(void);
  #else
  static inline void touch_softlockup_watchdog(void)
@@@ -653,8 -652,9 +652,8 @@@ struct signal_struct 
   * Bits in flags field of signal_struct.
   */
  #define SIGNAL_STOP_STOPPED   0x00000001 /* job control stop in effect */
 -#define SIGNAL_STOP_DEQUEUED  0x00000002 /* stop signal dequeued */
 -#define SIGNAL_STOP_CONTINUED 0x00000004 /* SIGCONT since WCONTINUED reap */
 -#define SIGNAL_GROUP_EXIT     0x00000008 /* group exit in progress */
 +#define SIGNAL_STOP_CONTINUED 0x00000002 /* SIGCONT since WCONTINUED reap */
 +#define SIGNAL_GROUP_EXIT     0x00000004 /* group exit in progress */
  /*
   * Pending notifications to parent.
   */
@@@ -1250,7 -1250,6 +1249,7 @@@ struct task_struct 
        int exit_state;
        int exit_code, exit_signal;
        int pdeath_signal;  /*  The signal sent when the parent dies  */
 +      unsigned int group_stop;        /* GROUP_STOP_*, siglock protected */
        /* ??? */
        unsigned int personality;
        unsigned did_exec:1;
@@@ -1771,17 -1770,6 +1770,17 @@@ extern void thread_group_times(struct t
  #define tsk_used_math(p) ((p)->flags & PF_USED_MATH)
  #define used_math() tsk_used_math(current)
  
 +/*
 + * task->group_stop flags
 + */
 +#define GROUP_STOP_SIGMASK    0xffff    /* signr of the last group stop */
 +#define GROUP_STOP_PENDING    (1 << 16) /* task should stop for group stop */
 +#define GROUP_STOP_CONSUME    (1 << 17) /* consume group stop count */
 +#define GROUP_STOP_TRAPPING   (1 << 18) /* switching from STOPPED to TRACED */
 +#define GROUP_STOP_DEQUEUED   (1 << 19) /* stop signal dequeued */
 +
 +extern void task_clear_group_stop_pending(struct task_struct *task);
 +
  #ifdef CONFIG_PREEMPT_RCU
  
  #define RCU_READ_UNLOCK_BLOCKED (1 << 0) /* blocked while in RCU read-side. */
@@@ -1,4 -1,6 +1,6 @@@
  #include <linux/kernel.h>
+ #include <linux/prefetch.h>
  #include "../../../../include/linux/list.h"
  
  #ifndef PERF_LIST_H
@@@ -23,5 -25,5 +25,5 @@@ static inline void list_del_range(struc
   * @head: the head for your list.
   */
  #define list_for_each_from(pos, head) \
 -      for (; prefetch(pos->next), pos != (head); pos = pos->next)
 +      for (; pos != (head); pos = pos->next)
  #endif