PROGS = fio
SCRIPTS = fio_generate_plots
OBJS = gettime.o fio.o ioengines.o init.o stat.o log.o time.o filesetup.o \
- eta.o verify.o memory.o io_u.o parse.o mutex.o spinlock.o options.o \
+ eta.o verify.o memory.o io_u.o parse.o mutex.o options.o \
rbtree.o diskutil.o fifo.o blktrace.o smalloc.o filehash.o
OBJS += crc/crc7.o
PROGS = fio
SCRIPTS = fio_generate_plots
OBJS = gettime.o fio.o ioengines.o init.o stat.o log.o time.o filesetup.o \
- eta.o verify.o memory.o io_u.o parse.o mutex.o spinlock.o options.o \
+ eta.o verify.o memory.o io_u.o parse.o mutex.o options.o \
rbtree.o smalloc.o filehash.o
OBJS += crc/crc7.o
PROGS = fio
SCRIPTS = fio_generate_plots
OBJS = gettime.o fio.o ioengines.o init.o stat.o log.o time.o filesetup.o \
- eta.o verify.o memory.o io_u.o parse.o mutex.o spinlock.o options.o \
+ eta.o verify.o memory.o io_u.o parse.o mutex.o options.o \
rbtree.o fifo.o smalloc.o filehash.o lib/strsep.o
OBJS += crc/crc7.o
+++ /dev/null
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <pthread.h>
-#include <sys/mman.h>
-
-#include "arch/arch.h"
-#include "spinlock.h"
-
-void fio_spinlock_remove(struct fio_spinlock *lock)
-{
- close(lock->lock_fd);
- munmap((void *) lock, sizeof(*lock));
-}
-
-struct fio_spinlock *fio_spinlock_init(void)
-{
- char spinlock_name[] = "/tmp/.fio_spinlock.XXXXXX";
- struct fio_spinlock *lock = NULL;
- int fd;
-
- fd = mkstemp(spinlock_name);
- if (fd < 0) {
- perror("open spinlock");
- return NULL;
- }
-
- if (ftruncate(fd, sizeof(struct fio_spinlock)) < 0) {
- perror("ftruncate spinlock");
- goto err;
- }
-
- lock = (void *) mmap(NULL, sizeof(struct fio_spinlock),
- PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- if (lock == MAP_FAILED) {
- perror("mmap spinlock");
- close(fd);
- lock = NULL;
- goto err;
- }
-
- unlink(spinlock_name);
- lock->lock_fd = fd;
- spin_lock_init(&lock->slock);
-
- return lock;
-err:
- if (lock)
- fio_spinlock_remove(lock);
-
- unlink(spinlock_name);
- return NULL;
-}
+++ /dev/null
-#ifndef FIO_SPINLOCK_H
-#define FIO_SPINLOCK_H
-
-struct fio_spinlock {
- spinlock_t slock;
- int lock_fd;
-};
-
-extern struct fio_spinlock *fio_spinlock_init(void);
-extern void fio_spinlock_remove(struct fio_spinlock *);
-
-static inline void fio_spin_lock(struct fio_spinlock *lock)
-{
- spin_lock(&lock->slock);
-}
-
-static inline void fio_spin_unlock(struct fio_spinlock *lock)
-{
- spin_unlock(&lock->slock);
-}
-
-#endif