aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2012-10-12 13:14:15 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2012-10-23 17:54:42 -0400
commitf2ebfbc991044fd5b89d4529741d7500feb37fbd (patch)
treea3bcb1b376b5c0efc441deac6f63652b71791942
parent4e87b2d7e887df3fe251dd7f702591a3acf369ca (diff)
srcu: Export process_srcu()
Because process_srcu() will be used in DEFINE_SRCU(), which is a macro that could be expanded pretty much anywhere, it can no longer be static. Note that process_srcu() is still internal to srcu.h. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r--include/linux/srcu.h2
-rw-r--r--kernel/srcu.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/srcu.h b/include/linux/srcu.h
index a55ddb19053c..5cce128f196c 100644
--- a/include/linux/srcu.h
+++ b/include/linux/srcu.h
@@ -78,6 +78,8 @@ int init_srcu_struct(struct srcu_struct *sp);
78 78
79#endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ 79#endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */
80 80
81void process_srcu(struct work_struct *work);
82
81/** 83/**
82 * call_srcu() - Queue a callback for invocation after an SRCU grace period 84 * call_srcu() - Queue a callback for invocation after an SRCU grace period
83 * @sp: srcu_struct in queue the callback 85 * @sp: srcu_struct in queue the callback
diff --git a/kernel/srcu.c b/kernel/srcu.c
index 0b99f27fa2f7..b363b0924561 100644
--- a/kernel/srcu.c
+++ b/kernel/srcu.c
@@ -94,9 +94,6 @@ static inline void rcu_batch_move(struct rcu_batch *to, struct rcu_batch *from)
94 } 94 }
95} 95}
96 96
97/* single-thread state-machine */
98static void process_srcu(struct work_struct *work);
99
100static int init_srcu_struct_fields(struct srcu_struct *sp) 97static int init_srcu_struct_fields(struct srcu_struct *sp)
101{ 98{
102 sp->completed = 0; 99 sp->completed = 0;
@@ -639,7 +636,7 @@ static void srcu_reschedule(struct srcu_struct *sp)
639/* 636/*
640 * This is the work-queue function that handles SRCU grace periods. 637 * This is the work-queue function that handles SRCU grace periods.
641 */ 638 */
642static void process_srcu(struct work_struct *work) 639void process_srcu(struct work_struct *work)
643{ 640{
644 struct srcu_struct *sp; 641 struct srcu_struct *sp;
645 642
@@ -650,3 +647,4 @@ static void process_srcu(struct work_struct *work)
650 srcu_invoke_callbacks(sp); 647 srcu_invoke_callbacks(sp);
651 srcu_reschedule(sp); 648 srcu_reschedule(sp);
652} 649}
650EXPORT_SYMBOL_GPL(process_srcu);