git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
kernel
/
rcupdate.c
diff --git
a/kernel/rcupdate.c
b/kernel/rcupdate.c
index
523e464
..
2058f88
100644
(file)
--- a/
kernel/rcupdate.c
+++ b/
kernel/rcupdate.c
@@
-53,13
+53,13
@@
static struct rcu_ctrlblk rcu_ctrlblk = {
.cur = -300,
.completed = -300,
static struct rcu_ctrlblk rcu_ctrlblk = {
.cur = -300,
.completed = -300,
- .lock =
__SPIN_LOCK_UNLOCKED(&rcu_ctrlblk.lock)
,
+ .lock =
SPIN_LOCK_UNLOCKED
,
.cpumask = CPU_MASK_NONE,
};
static struct rcu_ctrlblk rcu_bh_ctrlblk = {
.cur = -300,
.completed = -300,
.cpumask = CPU_MASK_NONE,
};
static struct rcu_ctrlblk rcu_bh_ctrlblk = {
.cur = -300,
.completed = -300,
- .lock =
__SPIN_LOCK_UNLOCKED(&rcu_bh_ctrlblk.lock)
,
+ .lock =
SPIN_LOCK_UNLOCKED
,
.cpumask = CPU_MASK_NONE,
};
.cpumask = CPU_MASK_NONE,
};
@@
-182,15
+182,6
@@
long rcu_batches_completed(void)
return rcu_ctrlblk.completed;
}
return rcu_ctrlblk.completed;
}
-/*
- * Return the number of RCU batches processed thus far. Useful
- * for debug and statistics.
- */
-long rcu_batches_completed_bh(void)
-{
- return rcu_bh_ctrlblk.completed;
-}
-
static void rcu_barrier_callback(struct rcu_head *notused)
{
if (atomic_dec_and_test(&rcu_barrier_cpu_count))
static void rcu_barrier_callback(struct rcu_head *notused)
{
if (atomic_dec_and_test(&rcu_barrier_cpu_count))
@@
-241,16
+232,12
@@
static void rcu_do_batch(struct rcu_data *rdp)
next = rdp->donelist = list->next;
list->func(list);
list = next;
next = rdp->donelist = list->next;
list->func(list);
list = next;
+ rdp->qlen--;
if (++count >= rdp->blimit)
break;
}
if (++count >= rdp->blimit)
break;
}
-
- local_irq_disable();
- rdp->qlen -= count;
- local_irq_enable();
if (rdp->blimit == INT_MAX && rdp->qlen <= qlowmark)
rdp->blimit = blimit;
if (rdp->blimit == INT_MAX && rdp->qlen <= qlowmark)
rdp->blimit = blimit;
-
if (!rdp->donelist)
rdp->donetail = &rdp->donelist;
else
if (!rdp->donelist)
rdp->donetail = &rdp->donelist;
else
@@
-552,7
+539,7
@@
static void __devinit rcu_online_cpu(int cpu)
tasklet_init(&per_cpu(rcu_tasklet, cpu), rcu_process_callbacks, 0UL);
}
tasklet_init(&per_cpu(rcu_tasklet, cpu), rcu_process_callbacks, 0UL);
}
-static int
__cpuinit
rcu_cpu_notify(struct notifier_block *self,
+static int rcu_cpu_notify(struct notifier_block *self,
unsigned long action, void *hcpu)
{
long cpu = (long)hcpu;
unsigned long action, void *hcpu)
{
long cpu = (long)hcpu;
@@
-569,7
+556,7
@@
static int __cpuinit rcu_cpu_notify(struct notifier_block *self,
return NOTIFY_OK;
}
return NOTIFY_OK;
}
-static struct notifier_block
__cpuinitdata
rcu_nb = {
+static struct notifier_block rcu_nb = {
.notifier_call = rcu_cpu_notify,
};
.notifier_call = rcu_cpu_notify,
};
@@
-625,6
+612,14
@@
void synchronize_rcu(void)
wait_for_completion(&rcu.completion);
}
wait_for_completion(&rcu.completion);
}
+/*
+ * Deprecated, use synchronize_rcu() or synchronize_sched() instead.
+ */
+void synchronize_kernel(void)
+{
+ synchronize_rcu();
+}
+
module_param(blimit, int, 0);
module_param(qhimark, int, 0);
module_param(qlowmark, int, 0);
module_param(blimit, int, 0);
module_param(qhimark, int, 0);
module_param(qlowmark, int, 0);
@@
-632,7
+627,7
@@
module_param(qlowmark, int, 0);
module_param(rsinterval, int, 0);
#endif
EXPORT_SYMBOL_GPL(rcu_batches_completed);
module_param(rsinterval, int, 0);
#endif
EXPORT_SYMBOL_GPL(rcu_batches_completed);
-EXPORT_SYMBOL_GPL(rcu_batches_completed_bh);
-EXPORT_SYMBOL_GPL(call_rcu);
-EXPORT_SYMBOL_GPL(call_rcu_bh);
+EXPORT_SYMBOL_GPL_FUTURE(call_rcu); /* WARNING: GPL-only in April 2006. */
+EXPORT_SYMBOL_GPL_FUTURE(call_rcu_bh); /* WARNING: GPL-only in April 2006. */
EXPORT_SYMBOL_GPL(synchronize_rcu);
EXPORT_SYMBOL_GPL(synchronize_rcu);
+EXPORT_SYMBOL_GPL_FUTURE(synchronize_kernel); /* WARNING: GPL-only in April 2006. */