diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-11-20 02:57:58 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-11-20 02:57:58 -0500 |
commit | d360b78f99e5d1724279644c8eb51d5cf0de4027 (patch) | |
tree | 011c67bd0654b141e8f7f9fe1d8e1338b05663ba /kernel/time | |
parent | fc14f9c1272f62c3e8d01300f52467c0d9af50f9 (diff) | |
parent | 9ea6c5885681e3d9ce9844ba9dc57371a5cfc6d2 (diff) |
Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU updates from Paul E. McKenney:
- Streamline RCU's use of per-CPU variables, shifting from "cpu"
arguments to functions to "this_"-style per-CPU variable accessors.
- Signal-handling RCU updates.
- Real-time updates.
- Torture-test updates.
- Miscellaneous fixes.
- Documentation updates.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/tick-sched.c | 2 | ||||
-rw-r--r-- | kernel/time/timer.c | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 7b5741fc4110..1f4356037a7d 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -585,7 +585,7 @@ static ktime_t tick_nohz_stop_sched_tick(struct tick_sched *ts, | |||
585 | last_jiffies = jiffies; | 585 | last_jiffies = jiffies; |
586 | } while (read_seqretry(&jiffies_lock, seq)); | 586 | } while (read_seqretry(&jiffies_lock, seq)); |
587 | 587 | ||
588 | if (rcu_needs_cpu(cpu, &rcu_delta_jiffies) || | 588 | if (rcu_needs_cpu(&rcu_delta_jiffies) || |
589 | arch_needs_cpu() || irq_work_needs_cpu()) { | 589 | arch_needs_cpu() || irq_work_needs_cpu()) { |
590 | next_jiffies = last_jiffies + 1; | 590 | next_jiffies = last_jiffies + 1; |
591 | delta_jiffies = 1; | 591 | delta_jiffies = 1; |
diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 3260ffdb368f..2d3f5c504939 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c | |||
@@ -1377,12 +1377,11 @@ unsigned long get_next_timer_interrupt(unsigned long now) | |||
1377 | void update_process_times(int user_tick) | 1377 | void update_process_times(int user_tick) |
1378 | { | 1378 | { |
1379 | struct task_struct *p = current; | 1379 | struct task_struct *p = current; |
1380 | int cpu = smp_processor_id(); | ||
1381 | 1380 | ||
1382 | /* Note: this timer irq context must be accounted for as well. */ | 1381 | /* Note: this timer irq context must be accounted for as well. */ |
1383 | account_process_tick(p, user_tick); | 1382 | account_process_tick(p, user_tick); |
1384 | run_local_timers(); | 1383 | run_local_timers(); |
1385 | rcu_check_callbacks(cpu, user_tick); | 1384 | rcu_check_callbacks(user_tick); |
1386 | #ifdef CONFIG_IRQ_WORK | 1385 | #ifdef CONFIG_IRQ_WORK |
1387 | if (in_irq()) | 1386 | if (in_irq()) |
1388 | irq_work_tick(); | 1387 | irq_work_tick(); |