projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'doc-Clarify_Runtime_Param' of https://github.com/horshack-dpreview/fio
[fio.git]
/
os
/
os-linux.h
diff --git
a/os/os-linux.h
b/os/os-linux.h
index 12886037dd40ddf5dc3dafbd99be943253e4b78d..7a78b42d4d1066d7fc274f78e7cfb444555b3765 100644
(file)
--- a/
os/os-linux.h
+++ b/
os/os-linux.h
@@
-1,7
+1,11
@@
#ifndef FIO_OS_LINUX_H
#define FIO_OS_LINUX_H
#ifndef FIO_OS_LINUX_H
#define FIO_OS_LINUX_H
+#ifdef __ANDROID__
+#define FIO_OS os_android
+#else
#define FIO_OS os_linux
#define FIO_OS os_linux
+#endif
#include <sys/ioctl.h>
#include <sys/uio.h>
#include <sys/ioctl.h>
#include <sys/uio.h>
@@
-17,9
+21,17
@@
#include <linux/major.h>
#include <linux/fs.h>
#include <scsi/sg.h>
#include <linux/major.h>
#include <linux/fs.h>
#include <scsi/sg.h>
+#include <asm/byteorder.h>
+#ifdef __ANDROID__
+#include "os-ashmem.h"
+#define FIO_NO_HAVE_SHM_H
+#endif
#ifdef ARCH_HAVE_CRC_CRYPTO
#include <sys/auxv.h>
#ifdef ARCH_HAVE_CRC_CRYPTO
#include <sys/auxv.h>
+#ifndef HWCAP_PMULL
+#define HWCAP_PMULL (1 << 4)
+#endif /* HWCAP_PMULL */
#ifndef HWCAP_CRC32
#define HWCAP_CRC32 (1 << 7)
#endif /* HWCAP_CRC32 */
#ifndef HWCAP_CRC32
#define HWCAP_CRC32 (1 << 7)
#endif /* HWCAP_CRC32 */
@@
-47,6
+59,7
@@
#define FIO_HAVE_TRIM
#define FIO_HAVE_GETTID
#define FIO_USE_GENERIC_INIT_RANDOM_STATE
#define FIO_HAVE_TRIM
#define FIO_HAVE_GETTID
#define FIO_USE_GENERIC_INIT_RANDOM_STATE
+#define FIO_HAVE_BYTEORDER_FUNCS
#define FIO_HAVE_PWRITEV2
#define FIO_HAVE_SHM_ATTACH_REMOVED
#define FIO_HAVE_PWRITEV2
#define FIO_HAVE_SHM_ATTACH_REMOVED
@@
-78,8
+91,8
@@
typedef cpu_set_t os_cpu_mask_t;
pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask))
#endif
pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask))
#endif
-#define fio_cpu_clear(mask, cpu)
(void)
CPU_CLR((cpu), (mask))
-#define fio_cpu_set(mask, cpu)
(void)
CPU_SET((cpu), (mask))
+#define fio_cpu_clear(mask, cpu) CPU_CLR((cpu), (mask))
+#define fio_cpu_set(mask, cpu) CPU_SET((cpu), (mask))
#define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0)
#define fio_cpu_count(mask) CPU_COUNT((mask))
#define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0)
#define fio_cpu_count(mask) CPU_COUNT((mask))
@@
-129,6
+142,11
@@
static inline int ioprio_value(int ioprio_class, int ioprio)
return (ioprio_class << IOPRIO_CLASS_SHIFT) | ioprio;
}
return (ioprio_class << IOPRIO_CLASS_SHIFT) | ioprio;
}
+static inline bool ioprio_value_is_class_rt(unsigned int priority)
+{
+ return (priority >> IOPRIO_CLASS_SHIFT) == IOPRIO_CLASS_RT;
+}
+
static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
{
return syscall(__NR_ioprio_set, which, who,
static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
{
return syscall(__NR_ioprio_set, which, who,
@@
-187,12
+205,6
@@
static inline unsigned long long os_phys_mem(void)
#define FIO_O_NOATIME 0
#endif
#define FIO_O_NOATIME 0
#endif
-#ifdef O_ATOMIC
-#define OS_O_ATOMIC O_ATOMIC
-#else
-#define OS_O_ATOMIC 040000000
-#endif
-
#ifdef MADV_REMOVE
#define FIO_MADV_FREE MADV_REMOVE
#endif
#ifdef MADV_REMOVE
#define FIO_MADV_FREE MADV_REMOVE
#endif
@@
-233,14
+245,6
@@
static inline int arch_cache_line_size(void)
return atoi(size);
}
return atoi(size);
}
-#ifdef __powerpc64__
-#define FIO_HAVE_CPU_ONLINE_SYSCONF
-static inline unsigned int cpus_online(void)
-{
- return sysconf(_SC_NPROCESSORS_CONF);
-}
-#endif
-
static inline unsigned long long get_fs_free_size(const char *path)
{
unsigned long long ret;
static inline unsigned long long get_fs_free_size(const char *path)
{
unsigned long long ret;
@@
-400,7
+404,8
@@
static inline bool os_cpu_has(cpu_features feature)
#ifdef ARCH_HAVE_CRC_CRYPTO
case CPU_ARM64_CRC32C:
hwcap = getauxval(AT_HWCAP);
#ifdef ARCH_HAVE_CRC_CRYPTO
case CPU_ARM64_CRC32C:
hwcap = getauxval(AT_HWCAP);
- have_feature = (hwcap & HWCAP_CRC32) != 0;
+ have_feature = (hwcap & (HWCAP_PMULL | HWCAP_CRC32)) ==
+ (HWCAP_PMULL | HWCAP_CRC32);
break;
#endif
default:
break;
#endif
default: