// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2019-20 RedHat, Inc.
 * All Rights Reserved.
 */
#ifndef __LIBXFS_SPINLOCK_H__
#define __LIBXFS_SPINLOCK_H__

/*
 * This implements kernel compatible spinlock exclusion semantics. These,
 * however, are not spinlocks, as spinlocks cannot be reliably implemented in
 * userspace without using realtime scheduling task contexts. Hence this
 * interface is implemented with pthread mutexes and so can block, but this is
 * no different to the kernel RT build which replaces spinlocks with mutexes.
 * Hence we know it works.
 */

typedef pthread_mutex_t	spinlock_t;

#define spin_lock_init(l)	pthread_mutex_init(l, NULL)
#define spin_lock(l)		pthread_mutex_lock(l)
#define spin_trylock(l)		(pthread_mutex_trylock(l) != EBUSY)
#define spin_unlock(l)		pthread_mutex_unlock(l)

#define mutex_init(l)		pthread_mutex_init(l, NULL)
#define mutex_lock(l)		pthread_mutex_lock(l)
#define mutex_trylock(l)	(pthread_mutex_trylock(l) != EBUSY)
#define mutex_unlock(l)		pthread_mutex_unlock(l)

#endif /* __LIBXFS_SPINLOCK_H__ */
