Recent changes (master)

Jens Axboe
2019-05-23T12:00:12Z

The following changes since commit a819dfb6b6b1e1e1339bbd8c3a446b52b5e7575c:

io_uring: sync with liburing/kernel (2019-05-20 08:49:49 -0600)

are available in the Git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to de5ed0e4d398bc9d4576f9b2b82d7686989c27e1:

configure: add gettid() test (2019-05-22 17:12:55 -0600)

----------------------------------------------------------------
Jens Axboe (2):
Fio 3.14
configure: add gettid() test

FIO-VERSION-GEN | 2 +-
configure | 18 ++++++++++++++++++
os/os-dragonfly.h | 2 ++
os/os-linux.h | 2 ++
os/os-mac.h | 2 ++
os/os-netbsd.h | 2 ++
os/os-openbsd.h | 2 ++
os/os-solaris.h | 2 ++
os/os-windows.h | 2 ++
os/os.h | 2 ++
10 files changed, 35 insertions(+), 1 deletion(-)

---

Diff of recent changes:

diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
index 37fb1a7a..69222008 100755
--- a/FIO-VERSION-GEN
+++ b/FIO-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh

GVF=FIO-VERSION-FILE
-DEF_VER=fio-3.13
+DEF_VER=fio-3.14

LF='
'
diff --git a/configure b/configure
index d71387c0..ee421663 100755
--- a/configure
+++ b/configure
@@ -2374,6 +2374,21 @@ EOF
fi
print_config "MADV_HUGEPAGE" "$thp"

+##########################################
+# check for gettid()
+gettid="no"
+cat > $TMPC << EOF
+#include <unistd.h>
+int main(int argc, char **argv)
+{
+ return gettid();
+}
+EOF
+if compile_prog "" "" "gettid"; then
+ gettid="yes"
+fi
+print_config "gettid" "$gettid"
+
#############################################################################

if test "$wordsize" = "64" ; then
@@ -2645,6 +2660,9 @@ fi
if test "$__kernel_rwf_t" = "yes"; then
output_sym "CONFIG_HAVE_KERNEL_RWF_T"
fi
+if test "$gettid" = "yes"; then
+ output_sym "CONFIG_HAVE_GETTID"
+fi
if test "$fallthrough" = "yes"; then
CFLAGS="$CFLAGS -Wimplicit-fallthrough"
fi
diff --git a/os/os-dragonfly.h b/os/os-dragonfly.h
index eb92521f..3c460ae2 100644
--- a/os/os-dragonfly.h
+++ b/os/os-dragonfly.h
@@ -202,10 +202,12 @@ static inline unsigned long long os_phys_mem(void)
return mem;
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return (int) lwp_gettid();
}
+#endif

static inline unsigned long long get_fs_free_size(const char *path)
{
diff --git a/os/os-linux.h b/os/os-linux.h
index ba58bf7d..36339ef3 100644
--- a/os/os-linux.h
+++ b/os/os-linux.h
@@ -124,10 +124,12 @@ static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
return syscall(__NR_ioprio_set, which, who, ioprio);
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return syscall(__NR_gettid);
}
+#endif

#define SPLICE_DEF_SIZE (64*1024)

diff --git a/os/os-mac.h b/os/os-mac.h
index 0b9c8707..a073300c 100644
--- a/os/os-mac.h
+++ b/os/os-mac.h
@@ -90,10 +90,12 @@ static inline unsigned long long os_phys_mem(void)
return mem;
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return mach_thread_self();
}
+#endif

/*
* For some reason, there's no header definition for fdatasync(), even
diff --git a/os/os-netbsd.h b/os/os-netbsd.h
index c06261d4..88fb3ef1 100644
--- a/os/os-netbsd.h
+++ b/os/os-netbsd.h
@@ -65,10 +65,12 @@ static inline unsigned long long os_phys_mem(void)
return mem;
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return (int) _lwp_self();
}
+#endif

static inline unsigned long long get_fs_free_size(const char *path)
{
diff --git a/os/os-openbsd.h b/os/os-openbsd.h
index 70f58b49..43a649d4 100644
--- a/os/os-openbsd.h
+++ b/os/os-openbsd.h
@@ -65,10 +65,12 @@ static inline unsigned long long os_phys_mem(void)
return mem;
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return (int)(intptr_t) pthread_self();
}
+#endif

static inline unsigned long long get_fs_free_size(const char *path)
{
diff --git a/os/os-solaris.h b/os/os-solaris.h
index 1a411af6..f1966f44 100644
--- a/os/os-solaris.h
+++ b/os/os-solaris.h
@@ -164,10 +164,12 @@ static inline int fio_cpuset_exit(os_cpu_mask_t *mask)
return 0;
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return pthread_self();
}
+#endif

/*
* Should be enough, not aware of what (if any) restrictions Solaris has
diff --git a/os/os-windows.h b/os/os-windows.h
index dc958f5c..3e9f7341 100644
--- a/os/os-windows.h
+++ b/os/os-windows.h
@@ -162,10 +162,12 @@ static inline unsigned long long os_phys_mem(void)
return (unsigned long long) pages * (unsigned long long) pagesize;
}

+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return GetCurrentThreadId();
}
+#endif

static inline int init_random_seeds(uint64_t *rand_seeds, int size)
{
diff --git a/os/os.h b/os/os.h
index 756ece4b..e4729680 100644
--- a/os/os.h
+++ b/os/os.h
@@ -373,11 +373,13 @@ static inline int CPU_COUNT(os_cpu_mask_t *mask)
#endif

#ifndef FIO_HAVE_GETTID
+#ifndef CONFIG_HAVE_GETTID
static inline int gettid(void)
{
return getpid();
}
#endif
+#endif

#ifndef FIO_HAVE_SHM_ATTACH_REMOVED
static inline int shm_attach_to_open_removed(void)