Revert "perf: Fix exit() vs PERF_FORMAT_GROUP"
authorIngo Molnar <[email protected]>
Tue, 11 May 2010 06:31:49 +0000 (08:31 +0200)
committerIngo Molnar <[email protected]>
Tue, 11 May 2010 06:31:49 +0000 (08:31 +0200)
This reverts commit 4fd38e4595e2f6c9d27732c042a0e16b2753049c.

It causes various crashes and hangs when events are activated.

The cause is not fully understood yet but we need to revert it
because the effects are severe.

Reported-by: Stephane Eranian <[email protected]>
Reported-by: Lin Ming <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Corey Ashford <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <[email protected]>
include/linux/perf_event.h
kernel/perf_event.c

index 4924c96d7e2de3d0c4ae71dae7101074c5f2ed09..3fd5c82e0e184c0690d8e62a2a459ad2dea279da 100644 (file)
@@ -575,7 +575,6 @@ struct pmu {
  * enum perf_event_active_state - the states of a event
  */
 enum perf_event_active_state {
-       PERF_EVENT_STATE_FREE           = -3,
        PERF_EVENT_STATE_ERROR          = -2,
        PERF_EVENT_STATE_OFF            = -1,
        PERF_EVENT_STATE_INACTIVE       =  0,
index 180151ff83762c841f66d9e268dcf10fa290b55d..a9047463fd83e26cf0e7756ce6a447d8dec5fb2c 100644 (file)
@@ -334,9 +334,6 @@ list_del_event(struct perf_event *event, struct perf_event_context *ctx)
        if (event->state > PERF_EVENT_STATE_OFF)
                event->state = PERF_EVENT_STATE_OFF;
 
-       if (event->state > PERF_EVENT_STATE_FREE)
-               return;
-
        /*
         * If this was a group event with sibling events then
         * upgrade the siblings to singleton events by adding them
@@ -1871,8 +1868,6 @@ int perf_event_release_kernel(struct perf_event *event)
 {
        struct perf_event_context *ctx = event->ctx;
 
-       event->state = PERF_EVENT_STATE_FREE;
-
        WARN_ON_ONCE(ctx->parent_ctx);
        /*
         * There are two ways this annotation is useful: