From: Paul E. McKenney on
From: Arnd Bergmann <arnd(a)arndb.de>

Signed-off-by: Arnd Bergmann <arnd(a)arndb.de>
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
Cc: Paul Mackerras <paulus(a)samba.org>
Cc: Ingo Molnar <mingo(a)elte.hu>
Cc: Arnaldo Carvalho de Melo <acme(a)redhat.com>
---
include/linux/perf_event.h | 6 +++---
include/linux/sched.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 5d0266d..b30ee92 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -645,7 +645,7 @@ struct perf_event {
struct hlist_node hlist_entry;
int nr_siblings;
int group_flags;
- struct perf_event *group_leader;
+ struct perf_event __rcu *group_leader;
const struct pmu *pmu;

enum perf_event_active_state state;
@@ -709,7 +709,7 @@ struct perf_event {
atomic_t mmap_count;
int mmap_locked;
struct user_struct *mmap_user;
- struct perf_mmap_data *data;
+ struct perf_mmap_data __rcu *data;

/* poll related */
wait_queue_head_t waitq;
@@ -777,7 +777,7 @@ struct perf_event_context {
* These fields let us detect when two contexts have both
* been cloned (inherited) from a common ancestor.
*/
- struct perf_event_context *parent_ctx;
+ struct perf_event_context __rcu *parent_ctx;
u64 parent_gen;
u64 generation;
int pin_count;
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 9a2d9a0..26b85fe 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1440,7 +1440,7 @@ struct task_struct {
struct futex_pi_state *pi_state_cache;
#endif
#ifdef CONFIG_PERF_EVENTS
- struct perf_event_context *perf_event_ctxp;
+ struct perf_event_context __rcu *perf_event_ctxp;
struct mutex perf_event_mutex;
struct list_head perf_event_list;
#endif
--
1.7.0.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/