diff options
author | Rik van Riel <riel@redhat.com> | 2016-07-13 10:50:05 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-07-14 04:42:35 -0400 |
commit | 553bf6bbfd8a540c70aee28eb50e24caff456a03 (patch) | |
tree | ef441b2d8f5eb6761880602ed66b08860371ebba | |
parent | 8612f17ab99c1f0770792bc875f5f039212a2a85 (diff) |
sched/cputime: Drop local_irq_save/restore from irqtime_account_irq()
Paolo pointed out that irqs are already blocked when irqtime_account_irq()
is called. That means there is no reason to call local_irq_save/restore()
again.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Radim Krcmar <rkrcmar@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Wanpeng Li <wanpeng.li@hotmail.com>
Link: http://lkml.kernel.org/r/1468421405-20056-6-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | kernel/sched/cputime.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 16a873c203b1..ea0f6f31a244 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c | |||
@@ -49,15 +49,12 @@ DEFINE_PER_CPU(seqcount_t, irq_time_seq); | |||
49 | */ | 49 | */ |
50 | void irqtime_account_irq(struct task_struct *curr) | 50 | void irqtime_account_irq(struct task_struct *curr) |
51 | { | 51 | { |
52 | unsigned long flags; | ||
53 | s64 delta; | 52 | s64 delta; |
54 | int cpu; | 53 | int cpu; |
55 | 54 | ||
56 | if (!sched_clock_irqtime) | 55 | if (!sched_clock_irqtime) |
57 | return; | 56 | return; |
58 | 57 | ||
59 | local_irq_save(flags); | ||
60 | |||
61 | cpu = smp_processor_id(); | 58 | cpu = smp_processor_id(); |
62 | delta = sched_clock_cpu(cpu) - __this_cpu_read(irq_start_time); | 59 | delta = sched_clock_cpu(cpu) - __this_cpu_read(irq_start_time); |
63 | __this_cpu_add(irq_start_time, delta); | 60 | __this_cpu_add(irq_start_time, delta); |
@@ -75,7 +72,6 @@ void irqtime_account_irq(struct task_struct *curr) | |||
75 | __this_cpu_add(cpu_softirq_time, delta); | 72 | __this_cpu_add(cpu_softirq_time, delta); |
76 | 73 | ||
77 | irq_time_write_end(); | 74 | irq_time_write_end(); |
78 | local_irq_restore(flags); | ||
79 | } | 75 | } |
80 | EXPORT_SYMBOL_GPL(irqtime_account_irq); | 76 | EXPORT_SYMBOL_GPL(irqtime_account_irq); |
81 | 77 | ||