fs/coda: remove static inline forward declarations
[pandora-kernel.git] / kernel / marker.c
index 041c33e..005b959 100644 (file)
@@ -671,6 +671,9 @@ int marker_probe_register(const char *name, const char *format,
        entry->rcu_pending = 1;
        /* write rcu_pending before calling the RCU callback */
        smp_wmb();
+#ifdef CONFIG_PREEMPT_RCU
+       synchronize_sched();    /* Until we have the call_rcu_sched() */
+#endif
        call_rcu(&entry->rcu, free_old_closure);
 end:
        mutex_unlock(&markers_mutex);
@@ -714,6 +717,9 @@ int marker_probe_unregister(const char *name,
        entry->rcu_pending = 1;
        /* write rcu_pending before calling the RCU callback */
        smp_wmb();
+#ifdef CONFIG_PREEMPT_RCU
+       synchronize_sched();    /* Until we have the call_rcu_sched() */
+#endif
        call_rcu(&entry->rcu, free_old_closure);
        remove_marker(name);    /* Ignore busy error message */
        ret = 0;
@@ -792,6 +798,9 @@ int marker_probe_unregister_private_data(marker_probe_func *probe,
        entry->rcu_pending = 1;
        /* write rcu_pending before calling the RCU callback */
        smp_wmb();
+#ifdef CONFIG_PREEMPT_RCU
+       synchronize_sched();    /* Until we have the call_rcu_sched() */
+#endif
        call_rcu(&entry->rcu, free_old_closure);
        remove_marker(entry->name);     /* Ignore busy error message */
 end: