diff options
| author | Ingo Molnar <mingo@kernel.org> | 2013-11-06 06:39:45 +0100 | 
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2013-11-06 06:39:45 +0100 | 
| commit | 97c53b402fcadb50201c23914f614bf8430d9c20 (patch) | |
| tree | 3c9b94e866d150c3a2d8ac853e388c38fade8b45 /include/linux/perf_event.h | |
| parent | 6a716c90a51338009c3bc1f460829afaed8f922d (diff) | |
| parent | 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff) | |
Merge tag 'v3.12' into core/locking to pick up mutex upates
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/perf_event.h')
| -rw-r--r-- | include/linux/perf_event.h | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 866e85c5eb94..c8ba627c1d60 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -294,9 +294,31 @@ struct ring_buffer;   */  struct perf_event {  #ifdef CONFIG_PERF_EVENTS -	struct list_head		group_entry; +	/* +	 * entry onto perf_event_context::event_list; +	 *   modifications require ctx->lock +	 *   RCU safe iterations. +	 */  	struct list_head		event_entry; + +	/* +	 * XXX: group_entry and sibling_list should be mutually exclusive; +	 * either you're a sibling on a group, or you're the group leader. +	 * Rework the code to always use the same list element. +	 * +	 * Locked for modification by both ctx->mutex and ctx->lock; holding +	 * either sufficies for read. +	 */ +	struct list_head		group_entry;  	struct list_head		sibling_list; + +	/* +	 * We need storage to track the entries in perf_pmu_migrate_context; we +	 * cannot use the event_entry because of RCU and we want to keep the +	 * group in tact which avoids us using the other two entries. +	 */ +	struct list_head		migrate_entry; +  	struct hlist_node		hlist_entry;  	int				nr_siblings;  	int				group_flags; | 
