diff options
-rw-r--r-- | MAINTAINERS | 13 | ||||
-rw-r--r-- | kernel/events/core.c | 8 | ||||
-rw-r--r-- | kernel/sched_fair.c | 14 |
3 files changed, 23 insertions, 12 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index b9db108f01c8..855afd479156 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -3101,6 +3101,7 @@ F: include/linux/hid* | |||
3101 | 3101 | ||
3102 | HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS | 3102 | HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS |
3103 | M: Thomas Gleixner <tglx@linutronix.de> | 3103 | M: Thomas Gleixner <tglx@linutronix.de> |
3104 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core | ||
3104 | S: Maintained | 3105 | S: Maintained |
3105 | F: Documentation/timers/ | 3106 | F: Documentation/timers/ |
3106 | F: kernel/hrtimer.c | 3107 | F: kernel/hrtimer.c |
@@ -3610,7 +3611,7 @@ F: net/irda/ | |||
3610 | IRQ SUBSYSTEM | 3611 | IRQ SUBSYSTEM |
3611 | M: Thomas Gleixner <tglx@linutronix.de> | 3612 | M: Thomas Gleixner <tglx@linutronix.de> |
3612 | S: Maintained | 3613 | S: Maintained |
3613 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq/core | 3614 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core |
3614 | F: kernel/irq/ | 3615 | F: kernel/irq/ |
3615 | 3616 | ||
3616 | ISAPNP | 3617 | ISAPNP |
@@ -4098,7 +4099,7 @@ F: drivers/hwmon/lm90.c | |||
4098 | LOCKDEP AND LOCKSTAT | 4099 | LOCKDEP AND LOCKSTAT |
4099 | M: Peter Zijlstra <peterz@infradead.org> | 4100 | M: Peter Zijlstra <peterz@infradead.org> |
4100 | M: Ingo Molnar <mingo@redhat.com> | 4101 | M: Ingo Molnar <mingo@redhat.com> |
4101 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep.git | 4102 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/locking |
4102 | S: Maintained | 4103 | S: Maintained |
4103 | F: Documentation/lockdep*.txt | 4104 | F: Documentation/lockdep*.txt |
4104 | F: Documentation/lockstat.txt | 4105 | F: Documentation/lockstat.txt |
@@ -5086,6 +5087,7 @@ M: Peter Zijlstra <a.p.zijlstra@chello.nl> | |||
5086 | M: Paul Mackerras <paulus@samba.org> | 5087 | M: Paul Mackerras <paulus@samba.org> |
5087 | M: Ingo Molnar <mingo@elte.hu> | 5088 | M: Ingo Molnar <mingo@elte.hu> |
5088 | M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | 5089 | M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> |
5090 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core | ||
5089 | S: Supported | 5091 | S: Supported |
5090 | F: kernel/events/* | 5092 | F: kernel/events/* |
5091 | F: include/linux/perf_event.h | 5093 | F: include/linux/perf_event.h |
@@ -5165,6 +5167,7 @@ F: drivers/scsi/pm8001/ | |||
5165 | 5167 | ||
5166 | POSIX CLOCKS and TIMERS | 5168 | POSIX CLOCKS and TIMERS |
5167 | M: Thomas Gleixner <tglx@linutronix.de> | 5169 | M: Thomas Gleixner <tglx@linutronix.de> |
5170 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core | ||
5168 | S: Supported | 5171 | S: Supported |
5169 | F: fs/timerfd.c | 5172 | F: fs/timerfd.c |
5170 | F: include/linux/timer* | 5173 | F: include/linux/timer* |
@@ -5680,6 +5683,7 @@ F: drivers/dma/dw_dmac.c | |||
5680 | TIMEKEEPING, NTP | 5683 | TIMEKEEPING, NTP |
5681 | M: John Stultz <johnstul@us.ibm.com> | 5684 | M: John Stultz <johnstul@us.ibm.com> |
5682 | M: Thomas Gleixner <tglx@linutronix.de> | 5685 | M: Thomas Gleixner <tglx@linutronix.de> |
5686 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core | ||
5683 | S: Supported | 5687 | S: Supported |
5684 | F: include/linux/clocksource.h | 5688 | F: include/linux/clocksource.h |
5685 | F: include/linux/time.h | 5689 | F: include/linux/time.h |
@@ -5704,6 +5708,7 @@ F: drivers/watchdog/sc1200wdt.c | |||
5704 | SCHEDULER | 5708 | SCHEDULER |
5705 | M: Ingo Molnar <mingo@elte.hu> | 5709 | M: Ingo Molnar <mingo@elte.hu> |
5706 | M: Peter Zijlstra <peterz@infradead.org> | 5710 | M: Peter Zijlstra <peterz@infradead.org> |
5711 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core | ||
5707 | S: Maintained | 5712 | S: Maintained |
5708 | F: kernel/sched* | 5713 | F: kernel/sched* |
5709 | F: include/linux/sched.h | 5714 | F: include/linux/sched.h |
@@ -6631,7 +6636,7 @@ TRACING | |||
6631 | M: Steven Rostedt <rostedt@goodmis.org> | 6636 | M: Steven Rostedt <rostedt@goodmis.org> |
6632 | M: Frederic Weisbecker <fweisbec@gmail.com> | 6637 | M: Frederic Weisbecker <fweisbec@gmail.com> |
6633 | M: Ingo Molnar <mingo@redhat.com> | 6638 | M: Ingo Molnar <mingo@redhat.com> |
6634 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git perf/core | 6639 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core |
6635 | S: Maintained | 6640 | S: Maintained |
6636 | F: Documentation/trace/ftrace.txt | 6641 | F: Documentation/trace/ftrace.txt |
6637 | F: arch/*/*/*/ftrace.h | 6642 | F: arch/*/*/*/ftrace.h |
@@ -7381,7 +7386,7 @@ M: Thomas Gleixner <tglx@linutronix.de> | |||
7381 | M: Ingo Molnar <mingo@redhat.com> | 7386 | M: Ingo Molnar <mingo@redhat.com> |
7382 | M: "H. Peter Anvin" <hpa@zytor.com> | 7387 | M: "H. Peter Anvin" <hpa@zytor.com> |
7383 | M: x86@kernel.org | 7388 | M: x86@kernel.org |
7384 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git | 7389 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core |
7385 | S: Maintained | 7390 | S: Maintained |
7386 | F: Documentation/x86/ | 7391 | F: Documentation/x86/ |
7387 | F: arch/x86/ | 7392 | F: arch/x86/ |
diff --git a/kernel/events/core.c b/kernel/events/core.c index d3b9df5962c2..58690af323e4 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
@@ -3558,9 +3558,13 @@ static void ring_buffer_wakeup(struct perf_event *event) | |||
3558 | 3558 | ||
3559 | rcu_read_lock(); | 3559 | rcu_read_lock(); |
3560 | rb = rcu_dereference(event->rb); | 3560 | rb = rcu_dereference(event->rb); |
3561 | list_for_each_entry_rcu(event, &rb->event_list, rb_entry) { | 3561 | if (!rb) |
3562 | goto unlock; | ||
3563 | |||
3564 | list_for_each_entry_rcu(event, &rb->event_list, rb_entry) | ||
3562 | wake_up_all(&event->waitq); | 3565 | wake_up_all(&event->waitq); |
3563 | } | 3566 | |
3567 | unlock: | ||
3564 | rcu_read_unlock(); | 3568 | rcu_read_unlock(); |
3565 | } | 3569 | } |
3566 | 3570 | ||
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index a78ed2736ba7..8a39fa3e3c6c 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -2352,13 +2352,11 @@ again: | |||
2352 | if (!smt && (sd->flags & SD_SHARE_CPUPOWER)) | 2352 | if (!smt && (sd->flags & SD_SHARE_CPUPOWER)) |
2353 | continue; | 2353 | continue; |
2354 | 2354 | ||
2355 | if (!(sd->flags & SD_SHARE_PKG_RESOURCES)) { | 2355 | if (smt && !(sd->flags & SD_SHARE_CPUPOWER)) |
2356 | if (!smt) { | 2356 | break; |
2357 | smt = 1; | 2357 | |
2358 | goto again; | 2358 | if (!(sd->flags & SD_SHARE_PKG_RESOURCES)) |
2359 | } | ||
2360 | break; | 2359 | break; |
2361 | } | ||
2362 | 2360 | ||
2363 | sg = sd->groups; | 2361 | sg = sd->groups; |
2364 | do { | 2362 | do { |
@@ -2378,6 +2376,10 @@ next: | |||
2378 | sg = sg->next; | 2376 | sg = sg->next; |
2379 | } while (sg != sd->groups); | 2377 | } while (sg != sd->groups); |
2380 | } | 2378 | } |
2379 | if (!smt) { | ||
2380 | smt = 1; | ||
2381 | goto again; | ||
2382 | } | ||
2381 | done: | 2383 | done: |
2382 | rcu_read_unlock(); | 2384 | rcu_read_unlock(); |
2383 | 2385 | ||