diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 17:01:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 17:01:07 -0400 |
commit | 8a1ca8cedd108c8e76a6ab34079d0bbb4f244799 (patch) | |
tree | 636c715524f1718599209cc289908ea44b6cb859 /include/linux/sched.h | |
parent | b640f042faa2a2fad6464f259a8afec06e2f6386 (diff) | |
parent | 940010c5a314a7bd9b498593bc6ba1718ac5aec5 (diff) |
Merge branch 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (574 commits)
perf_counter: Turn off by default
perf_counter: Add counter->id to the throttle event
perf_counter: Better align code
perf_counter: Rename L2 to LL cache
perf_counter: Standardize event names
perf_counter: Rename enums
perf_counter tools: Clean up u64 usage
perf_counter: Rename perf_counter_limit sysctl
perf_counter: More paranoia settings
perf_counter: powerpc: Implement generalized cache events for POWER processors
perf_counters: powerpc: Add support for POWER7 processors
perf_counter: Accurate period data
perf_counter: Introduce struct for sample data
perf_counter tools: Normalize data using per sample period data
perf_counter: Annotate exit ctx recursion
perf_counter tools: Propagate signals properly
perf_counter tools: Small frequency related fixes
perf_counter: More aggressive frequency adjustment
perf_counter/x86: Fix the model number of Intel Core2 processors
perf_counter, x86: Correct some event and umask values for Intel processors
...
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 42bf2766111e..4896fdfec913 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -99,6 +99,7 @@ struct robust_list_head; | |||
99 | struct bio; | 99 | struct bio; |
100 | struct fs_struct; | 100 | struct fs_struct; |
101 | struct bts_context; | 101 | struct bts_context; |
102 | struct perf_counter_context; | ||
102 | 103 | ||
103 | /* | 104 | /* |
104 | * List of flags we want to share for kernel threads, | 105 | * List of flags we want to share for kernel threads, |
@@ -139,6 +140,7 @@ extern unsigned long nr_running(void); | |||
139 | extern unsigned long nr_uninterruptible(void); | 140 | extern unsigned long nr_uninterruptible(void); |
140 | extern unsigned long nr_iowait(void); | 141 | extern unsigned long nr_iowait(void); |
141 | extern void calc_global_load(void); | 142 | extern void calc_global_load(void); |
143 | extern u64 cpu_nr_migrations(int cpu); | ||
142 | 144 | ||
143 | extern unsigned long get_parent_ip(unsigned long addr); | 145 | extern unsigned long get_parent_ip(unsigned long addr); |
144 | 146 | ||
@@ -674,6 +676,10 @@ struct user_struct { | |||
674 | struct work_struct work; | 676 | struct work_struct work; |
675 | #endif | 677 | #endif |
676 | #endif | 678 | #endif |
679 | |||
680 | #ifdef CONFIG_PERF_COUNTERS | ||
681 | atomic_long_t locked_vm; | ||
682 | #endif | ||
677 | }; | 683 | }; |
678 | 684 | ||
679 | extern int uids_sysfs_init(void); | 685 | extern int uids_sysfs_init(void); |
@@ -1073,9 +1079,10 @@ struct sched_entity { | |||
1073 | u64 last_wakeup; | 1079 | u64 last_wakeup; |
1074 | u64 avg_overlap; | 1080 | u64 avg_overlap; |
1075 | 1081 | ||
1082 | u64 nr_migrations; | ||
1083 | |||
1076 | u64 start_runtime; | 1084 | u64 start_runtime; |
1077 | u64 avg_wakeup; | 1085 | u64 avg_wakeup; |
1078 | u64 nr_migrations; | ||
1079 | 1086 | ||
1080 | #ifdef CONFIG_SCHEDSTATS | 1087 | #ifdef CONFIG_SCHEDSTATS |
1081 | u64 wait_start; | 1088 | u64 wait_start; |
@@ -1396,6 +1403,11 @@ struct task_struct { | |||
1396 | struct list_head pi_state_list; | 1403 | struct list_head pi_state_list; |
1397 | struct futex_pi_state *pi_state_cache; | 1404 | struct futex_pi_state *pi_state_cache; |
1398 | #endif | 1405 | #endif |
1406 | #ifdef CONFIG_PERF_COUNTERS | ||
1407 | struct perf_counter_context *perf_counter_ctxp; | ||
1408 | struct mutex perf_counter_mutex; | ||
1409 | struct list_head perf_counter_list; | ||
1410 | #endif | ||
1399 | #ifdef CONFIG_NUMA | 1411 | #ifdef CONFIG_NUMA |
1400 | struct mempolicy *mempolicy; | 1412 | struct mempolicy *mempolicy; |
1401 | short il_next; | 1413 | short il_next; |
@@ -2410,6 +2422,13 @@ static inline void inc_syscw(struct task_struct *tsk) | |||
2410 | #define TASK_SIZE_OF(tsk) TASK_SIZE | 2422 | #define TASK_SIZE_OF(tsk) TASK_SIZE |
2411 | #endif | 2423 | #endif |
2412 | 2424 | ||
2425 | /* | ||
2426 | * Call the function if the target task is executing on a CPU right now: | ||
2427 | */ | ||
2428 | extern void task_oncpu_function_call(struct task_struct *p, | ||
2429 | void (*func) (void *info), void *info); | ||
2430 | |||
2431 | |||
2413 | #ifdef CONFIG_MM_OWNER | 2432 | #ifdef CONFIG_MM_OWNER |
2414 | extern void mm_update_next_owner(struct mm_struct *mm); | 2433 | extern void mm_update_next_owner(struct mm_struct *mm); |
2415 | extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p); | 2434 | extern void mm_init_owner(struct mm_struct *mm, struct task_struct *p); |