Whamcloud - gitweb
LU-12374 lustre: push rcu_barrier() before destroying slab
[fs/lustre-release.git] / lustre / ldlm / ldlm_lockd.c
index fe9668b..18221a7 100644 (file)
@@ -3376,10 +3376,10 @@ void ldlm_exit(void)
        kmem_cache_destroy(ldlm_resource_slab);
        /*
         * ldlm_lock_put() use RCU to call ldlm_lock_free, so need call
        kmem_cache_destroy(ldlm_resource_slab);
        /*
         * ldlm_lock_put() use RCU to call ldlm_lock_free, so need call
-        * synchronize_rcu() to wait a grace period elapsed, so that
-        * ldlm_lock_free() get a chance to be called.
+        * rcu_barrier() to wait all outstanding RCU callbacks to complete,
+        * so that ldlm_lock_free() get a chance to be called.
         */
         */
-       synchronize_rcu();
+       rcu_barrier();
        kmem_cache_destroy(ldlm_lock_slab);
        kmem_cache_destroy(ldlm_interval_slab);
        kmem_cache_destroy(ldlm_interval_tree_slab);
        kmem_cache_destroy(ldlm_lock_slab);
        kmem_cache_destroy(ldlm_interval_slab);
        kmem_cache_destroy(ldlm_interval_tree_slab);