Whamcloud - gitweb
LU-6245 libcfs: cleanup libcfs lock handling
[fs/lustre-release.git] / libcfs / libcfs / libcfs_lock.c
index 799f91d..747337f 100644 (file)
@@ -34,8 +34,6 @@
 
 #include <libcfs/libcfs.h>
 
-#ifdef __KERNEL__
-
 /** destroy cpu-partition lock, see libcfs_private.h for more detail */
 void
 cfs_percpt_lock_free(struct cfs_percpt_lock *pcl)
@@ -92,6 +90,7 @@ EXPORT_SYMBOL(cfs_percpt_lock_alloc);
  */
 void
 cfs_percpt_lock(struct cfs_percpt_lock *pcl, int index)
+__acquires(pcl->pcl_locks)
 {
        int     ncpt = cfs_cpt_number(pcl->pcl_cptab);
        int     i;
@@ -126,6 +125,7 @@ EXPORT_SYMBOL(cfs_percpt_lock);
 /** unlock a CPU partition */
 void
 cfs_percpt_unlock(struct cfs_percpt_lock *pcl, int index)
+__releases(pcl->pcl_locks)
 {
        int     ncpt = cfs_cpt_number(pcl->pcl_cptab);
        int     i;
@@ -147,83 +147,20 @@ cfs_percpt_unlock(struct cfs_percpt_lock *pcl, int index)
 }
 EXPORT_SYMBOL(cfs_percpt_unlock);
 
-#else /* !__KERNEL__ */
-# ifdef HAVE_LIBPTHREAD
-
-struct cfs_percpt_lock *
-cfs_percpt_lock_alloc(struct cfs_cpt_table *cptab)
-{
-       struct cfs_percpt_lock *pcl;
-
-       CFS_ALLOC_PTR(pcl);
-       if (pcl != NULL)
-               pthread_mutex_init(&pcl->pcl_mutex, NULL);
-
-       return pcl;
-}
-
-void
-cfs_percpt_lock_free(struct cfs_percpt_lock *pcl)
-{
-       pthread_mutex_destroy(&pcl->pcl_mutex);
-       CFS_FREE_PTR(pcl);
-}
-
-void
-cfs_percpt_lock(struct cfs_percpt_lock *pcl, int lock)
-{
-       pthread_mutex_lock(&(pcl)->pcl_mutex);
-}
-
-void
-cfs_percpt_unlock(struct cfs_percpt_lock *pcl, int lock)
-{
-       pthread_mutex_unlock(&(pcl)->pcl_mutex);
-}
-
-# else /* !HAVE_LIBPTHREAD */
-
-struct cfs_percpt_lock *
-cfs_percpt_lock_alloc(struct cfs_cpt_table *cptab)
-{
-       return ((struct cfs_percpt_lock *) &CFS_PERCPT_LOCK_MAGIC);
-}
-
-void
-cfs_percpt_lock_free(struct cfs_percpt_lock *pcl)
-{
-       LASSERT(pcl == (struct cfs_percpt_lock *) &CFS_PERCPT_LOCK_MAGIC);
-}
-
-void
-cfs_percpt_lock(struct cfs_percpt_lock *pcl, int index)
-{
-       LASSERT(pcl == (struct cfs_percpt_lock *) &CFS_PERCPT_LOCK_MAGIC);
-}
-
-void
-cfs_percpt_unlock(struct cfs_percpt_lock *pcl, int index)
-{
-       LASSERT(pcl == (struct cfs_percpt_lock *) &CFS_PERCPT_LOCK_MAGIC);
-}
-
-# endif /* HAVE_LIBPTHREAD */
-#endif /* __KERNEL__ */
-
 /** free cpu-partition refcount */
 void
-cfs_percpt_atomic_free(cfs_atomic_t **refs)
+cfs_percpt_atomic_free(atomic_t **refs)
 {
        cfs_percpt_free(refs);
 }
 EXPORT_SYMBOL(cfs_percpt_atomic_free);
 
 /** allocate cpu-partition refcount with initial value @init_val */
-cfs_atomic_t **
+atomic_t **
 cfs_percpt_atomic_alloc(struct cfs_cpt_table *cptab, int init_val)
 {
-       cfs_atomic_t    **refs;
-       cfs_atomic_t    *ref;
+       atomic_t        **refs;
+       atomic_t        *ref;
        int             i;
 
        refs = cfs_percpt_alloc(cptab, sizeof(*ref));
@@ -231,21 +168,21 @@ cfs_percpt_atomic_alloc(struct cfs_cpt_table *cptab, int init_val)
                return NULL;
 
        cfs_percpt_for_each(ref, i, refs)
-               cfs_atomic_set(ref, init_val);
+               atomic_set(ref, init_val);
        return refs;
 }
 EXPORT_SYMBOL(cfs_percpt_atomic_alloc);
 
 /** return sum of cpu-partition refs */
 int
-cfs_percpt_atomic_summary(cfs_atomic_t **refs)
+cfs_percpt_atomic_summary(atomic_t **refs)
 {
-       cfs_atomic_t    *ref;
+       atomic_t        *ref;
        int             i;
        int             val = 0;
 
        cfs_percpt_for_each(ref, i, refs)
-               val += cfs_atomic_read(ref);
+               val += atomic_read(ref);
 
        return val;
 }