https://github.com/torvalds/linux
Raw File
Tip revision: ea5f6ad9ad9645733b72ab53a98e719b460d36a6 authored by Linus Torvalds on 16 May 2024, 16:14:50 UTC
Merge tag 'platform-drivers-x86-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Tip revision: ea5f6ad
rwsem.h
#ifndef _PERF_RWSEM_H
#define _PERF_RWSEM_H

#include <pthread.h>
#include "mutex.h"

/*
 * Mutexes have additional error checking. Enable to use a mutex rather than a
 * rwlock for debugging.
 */
#define RWS_ERRORCHECK 0

struct rw_semaphore {
#if RWS_ERRORCHECK
	struct mutex mtx;
#else
	pthread_rwlock_t lock;
#endif
};

int init_rwsem(struct rw_semaphore *sem);
int exit_rwsem(struct rw_semaphore *sem);

int down_read(struct rw_semaphore *sem);
int up_read(struct rw_semaphore *sem);

int down_write(struct rw_semaphore *sem);
int up_write(struct rw_semaphore *sem);

#endif /* _PERF_RWSEM_H */
back to top