diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-07-21 23:22:35 +0200 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-07-21 23:22:35 +0200 |
| commit | 2d05bf6ef7391ac3642ab62bc3a649fdb32731fe (patch) | |
| tree | a8671f0eafa885b4f3ad05204e3ed642b6acab59 /kernel/rcutree_plugin.h | |
| parent | 9c63cd5a955ce8a3de1776a9e4b6b89c69b2a09e (diff) | |
| parent | 8c0383b8f6a8012b107cd62eaa5a556586d8ea56 (diff) | |
| download | olio-linux-3.10-2d05bf6ef7391ac3642ab62bc3a649fdb32731fe.tar.xz olio-linux-3.10-2d05bf6ef7391ac3642ab62bc3a649fdb32731fe.zip | |
Merge branch 'samsung/defconfig' into next/defconfig
From Kukjin Kim <kgene.kim@samsung.com>:
It is including new exynos_defconfig for DT configuration of exynos4
and exynos5 together. The old exynos4_defconfig will be used for non-DT
for a while and we will try to move on using exynos_defconfig for only DT.
* samsung/defconfig:
ARM: exynos_defconfig: enable more platforms in defconfig
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'kernel/rcutree_plugin.h')
| -rw-r--r-- | kernel/rcutree_plugin.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h index 5271a020887..3e4899459f3 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h @@ -153,7 +153,7 @@ static void rcu_preempt_qs(int cpu) * * Caller must disable preemption. */ -void rcu_preempt_note_context_switch(void) +static void rcu_preempt_note_context_switch(int cpu) { struct task_struct *t = current; unsigned long flags; @@ -164,7 +164,7 @@ void rcu_preempt_note_context_switch(void) (t->rcu_read_unlock_special & RCU_READ_UNLOCK_BLOCKED) == 0) { /* Possibly blocking in an RCU read-side critical section. */ - rdp = __this_cpu_ptr(rcu_preempt_state.rda); + rdp = per_cpu_ptr(rcu_preempt_state.rda, cpu); rnp = rdp->mynode; raw_spin_lock_irqsave(&rnp->lock, flags); t->rcu_read_unlock_special |= RCU_READ_UNLOCK_BLOCKED; @@ -228,7 +228,7 @@ void rcu_preempt_note_context_switch(void) * means that we continue to block the current grace period. */ local_irq_save(flags); - rcu_preempt_qs(smp_processor_id()); + rcu_preempt_qs(cpu); local_irq_restore(flags); } @@ -1002,6 +1002,14 @@ void rcu_force_quiescent_state(void) EXPORT_SYMBOL_GPL(rcu_force_quiescent_state); /* + * Because preemptible RCU does not exist, we never have to check for + * CPUs being in quiescent states. + */ +static void rcu_preempt_note_context_switch(int cpu) +{ +} + +/* * Because preemptible RCU does not exist, there are never any preempted * RCU readers. */ |