rcutorture: fix missing function at build time
PATCH 1/1 rcutorture: fix missing function at build time
Hello,
This is a minor issue, but as I seem to have woken up Paul at 4AM with the many beeps from IRC I would feel bad if I did not send this patch to the list. Actually, as that patch has been sitting on my computer for a few days now, i already feel bad :)
rcutorture: fix missing function at build time
Trying to build the rcutorture module on 3.18.7-rt2 ends up on:
ERROR: "rcu_force_quiescent_state" [kernel/rcu/rcutorture.ko] undefined!
Commit "71d22b5 Subject: rcu: Merge RCU-bh into RCU-preempt" encloses three functions (rcu_batches_completed_bh, rcu_force_quiescent_state and rcu_bh_force_quiescent_state) on an #ifndef CONFIG_PREEMPT_RT_FULL / #endif pair, rendering them non-existent on RT. As the commit points out, that was a wise and necessary move.
But in order to get rcutorture build working again we need to define an empty rcu_force_quiescent_state function.
kernel/rcu/tree.c +5 -0
@@ -378,6 +378,11 @@ void rcu_bh_force_quiescent_state(void) force_quiescent_state(&rcu_bh_state); }EXPORT_SYMBOL_GPL (rcu_bh_force_quiescent_state); +#else +void rcu_force_quiescent_state (void ) +{ +} +EXPORT_SYMBOL_GPL (rcu_force_quiescent_state);#endif /*
Signature · 2 lines
[ Luis Claudio R. Goncalves Bass - Gospel - RT ] [ Fingerprint: 4FDD B8C4 3C59 34BD 8BE9 2696 7203 D980 A448 C8F8 ]
Quoted 6 lines · Luis Claudio R. Goncalves
Hello,
This is a minor issue, but as I seem to have woken up Paul at 4AM with the many beeps from IRC I would feel bad if I did not send this patch to the list. Actually, as that patch has been sitting on my computer for a few days now, i already feel bad :)
Actually, you did not wake me up -- I had accidentally left my system logged into IRC overnight and saw your post when I woke up some time later. ;-)
Quoted 22 lines
rcutorture: fix missing function at build time
Trying to build the rcutorture module on 3.18.7-rt2 ends up on:
ERROR: "
rcu_force_quiescent_state" [kernel/rcu/rcutorture.ko] undefined!Commit "71d22b5 Subject: rcu: Merge RCU-bh into RCU-preempt" encloses three functions (
rcu_batches_completed_bh,rcu_force_quiescent_stateandrcu_bh_force_quiescent_state) on an #ifndefCONFIG_PREEMPT_RT_FULL/ #endif pair, rendering them non-existent on RT. As the commit points out, that was a wise and necessary move.But in order to get rcutorture build working again we need to define an empty
rcu_force_quiescent_statefunction.Signed-off-by Luis Claudio R. Goncalves <[email protected]>kernel/rcu/tree.c +0
-0
kernel/rcu/tree.c void rcu_bh_force_quiescent_state(void) · line 385
Quoted 8 lines
kernel/rcu/tree.c +5
-0@@ -378,6 +378,11 @@ void rcu_bh_force_quiescent_state(void) force_quiescent_state(&rcu_bh_state); }EXPORT_SYMBOL_GPL (rcu_bh_force_quiescent_state); +#else +void rcu_force_quiescent_state (void ) +{ +} +EXPORT_SYMBOL_GPL (rcu_force_quiescent_state);
This is -rt only, correct?
Thanx, Paul
Quoted 8 lines
kernel/rcu/tree.c +0
-0#endif /* Signature · 3 lines
-- [ Luis Claudio R. Goncalves Bass - Gospel - RT ] [ Fingerprint: 4FDD B8C4 3C59 34BD 8BE9 2696 7203 D980 A448 C8F8 ]
On Mon, Mar 02, 2015 at 01:18:15PM -0800, Paul E. McKenney wrote:
...
| > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
| > index a4e9e25..28a54f6 100644
| > --- a/kernel/rcu/tree.c
| > +++ b/kernel/rcu/tree.c
| > @@ -378,6 +378,11 @@ void rcu_bh_force_quiescent_state(void)
| > force_quiescent_state(&rcu_bh_state);
| > }
| > EXPORT_SYMBOL_GPL(rcu_bh_force_quiescent_state);
| > +#else
| > +void rcu_force_quiescent_state(void)
| > +{
| > +}
| > +EXPORT_SYMBOL_GPL(rcu_force_quiescent_state);
|
| This is -rt only, correct?Yes, -rt only. And the only complaint I saw was from rcutorture.
Luis
Quoted 18 lines · Luis Claudio R. Goncalves
On Mon, Mar 02, 2015 at 01:18:15PM -0800, Paul E. McKenney wrote:
...| > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c | > index a4e9e25..28a54f6 100644 | > --- a/kernel/rcu/tree.c | > +++ b/kernel/rcu/tree.c | > @@ -378,6 +378,11 @@ void rcu_bh_force_quiescent_state(void) | > force_quiescent_state(&rcu_bh_state); | > } | > EXPORT_SYMBOL_GPL(rcu_bh_force_quiescent_state); | > +#else | > +void rcu_force_quiescent_state(void) | > +{ | > +} | > +EXPORT_SYMBOL_GPL(rcu_force_quiescent_state); | | This is -rt only, correct?
Quoted 1 line
Yes, -rt only. And the only complaint I saw was from rcutorture.
Agreed, nothing other than rcutorture should use these. Just thinking out loud about what (if anything) should happen in mainline.
Thanx, Paul
Quoted 6 lines · * Luis Claudio R. Goncalves | 2015-03-02 17:15:31 [-0300]:
Hello,
This is a minor issue, but as I seem to have woken up Paul at 4AM with the many beeps from IRC I would feel bad if I did not send this patch to the list. Actually, as that patch has been sitting on my computer for a few days now, i already feel bad :)
Thanks. I folded this into rcu-merge-rcu-bh-into-rcu-preempt-for-rt.patch since it is v3.18 only.
Sebastian