This is a note to let you know that I've just added the patch titled

    perf: overflow/perf_count_sw_cpu_clock crashes recent kernels

to the 2.6.32-longterm tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/longterm/longterm-queue-2.6.32.git;a=summary

The filename of the patch is:
     perf-overflow-perf_count_sw_cpu_clock-crashes-recent-kernels.patch
and it can be found in the queue-2.6.32 subdirectory.

If you, or anyone else, feels it should not be added to the 2.6.32 longterm 
tree,
please let <[email protected]> know about it.


>From [email protected]  Wed Aug  3 08:57:08 2011
From: Peter Zijlstra <[email protected]>
Date: Wed, 03 Aug 2011 13:49:31 +0200
Subject: perf: overflow/perf_count_sw_cpu_clock crashes recent kernels
To: Greg KH <[email protected]>
Cc: Vince Weaver <[email protected]>, Ingo Molnar <[email protected]>, Paul 
Mackerras <[email protected]>, [email protected], Arnaldo Carvalho de 
Melo <[email protected]>, stable <[email protected]>
Message-ID: <1312372171.1147.302.camel@twins>

From: Peter Zijlstra <[email protected]>

The below patch is for -stable only, upstream has a much larger patch
that contains the below hunk in commit a8b0ca17b80e92faab46ee7179ba9e99ccb61233

Vince found that under certain circumstances software event overflows
go wrong and deadlock. Avoid trying to delete a timer from the timer
callback.

Reported-by: Vince Weaver <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 kernel/perf_event.c |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -3694,12 +3694,8 @@ static int __perf_event_overflow(struct
        if (events && atomic_dec_and_test(&event->event_limit)) {
                ret = 1;
                event->pending_kill = POLL_HUP;
-               if (nmi) {
-                       event->pending_disable = 1;
-                       perf_pending_queue(&event->pending,
-                                          perf_pending_event);
-               } else
-                       perf_event_disable(event);
+               event->pending_disable = 1;
+               perf_pending_queue(&event->pending, perf_pending_event);
        }
 
        perf_event_output(event, nmi, data, regs);


Patches currently in longterm-queue-2.6.32 which might be from 
[email protected] are

/home/gregkh/linux/longterm/longterm-queue-2.6.32/queue-2.6.32/perf-overflow-perf_count_sw_cpu_clock-crashes-recent-kernels.patch

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to