The following changes since commit 5c74fc767600f75cd6d53bdc5926962b75a614ae:

  backend: continue on failed wait_for() check, not break (2015-12-22 13:40:14 
-0700)

are available in the git repository at:

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

for you to fetch changes up to f1480f98ae77ccb23888028563c5ae117d939e55:

  Fio 2.3 (2015-12-23 09:39:04 -0700)

----------------------------------------------------------------
Jens Axboe (3):
      arch: add ffs64 and ffz64
      gfio: use ffz64 for 64-bit types
      Fio 2.3

[email protected] (1):
      Fix runtime of terse output

 FIO-VERSION-GEN        |  2 +-
 arch/arch.h            |  4 ----
 goptions.c             |  4 ++--
 lib/ffz.h              | 19 +++++++++++++++----
 os/windows/install.wxs |  2 +-
 stat.c                 | 22 +++++++++++-----------
 6 files changed, 30 insertions(+), 23 deletions(-)

---

Diff of recent changes:

diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
index 108ca4b..3253034 100755
--- a/FIO-VERSION-GEN
+++ b/FIO-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=FIO-VERSION-FILE
-DEF_VER=fio-2.2.13
+DEF_VER=fio-2.3
 
 LF='
 '
diff --git a/arch/arch.h b/arch/arch.h
index 5671b9a..043e283 100644
--- a/arch/arch.h
+++ b/arch/arch.h
@@ -63,11 +63,7 @@ extern unsigned long arch_flags;
 #include "arch-generic.h"
 #endif
 
-#ifdef ARCH_HAVE_FFZ
-#define ffz(bitmask)   arch_ffz(bitmask)
-#else
 #include "../lib/ffz.h"
-#endif
 
 #ifndef ARCH_HAVE_INIT
 static inline int arch_init(char *envp[])
diff --git a/goptions.c b/goptions.c
index 20a17d1..9279b22 100644
--- a/goptions.c
+++ b/goptions.c
@@ -107,7 +107,7 @@ static GtkWidget *gopt_get_group_frame(struct gopt_job_view 
*gjv,
        if (!og)
                return NULL;
 
-       group = ffz(~groupmask);
+       group = ffz64(~groupmask);
        gfw = &gjv->g_widgets[group];
        if (!gfw->vbox[0]) {
                frame = gtk_frame_new(og->name);
@@ -1139,7 +1139,7 @@ static void gopt_add_options(struct gopt_job_view *gjv,
                struct opt_group *og;
 
                while ((og = opt_group_from_mask(&mask)) != NULL) {
-                       GtkWidget *vbox = gjv->vboxes[ffz(~og->mask)];
+                       GtkWidget *vbox = gjv->vboxes[ffz64(~og->mask)];
 
                        hbox = gtk_hbox_new(FALSE, 3);
                        gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 
5);
diff --git a/lib/ffz.h b/lib/ffz.h
index eef612d..e2c1b8e 100644
--- a/lib/ffz.h
+++ b/lib/ffz.h
@@ -1,16 +1,16 @@
 #ifndef FIO_FFZ_H
 #define FIO_FFZ_H
 
-static inline int __ffs(unsigned long word)
+#include <inttypes.h>
+
+static inline int ffs64(uint64_t word)
 {
        int r = 0;
 
-#if BITS_PER_LONG == 64
        if ((word & 0xffffffff) == 0) {
                r += 32;
                word >>= 32;
        }
-#endif
        if (!(word & 0xffff)) {
                word >>= 16;
                r += 16;
@@ -35,9 +35,20 @@ static inline int __ffs(unsigned long word)
        return r;
 }
 
+#ifndef ARCH_HAVE_FFZ
+
 static inline int ffz(unsigned long bitmask)
 {
-       return __ffs(~bitmask);
+       return ffs64(~bitmask);
+}
+
+#else
+#define ffz(bitmask)   arch_ffz(bitmask)
+#endif
+
+static inline int ffz64(uint64_t bitmask)
+{
+       return ffs64(~bitmask);
 }
 
 #endif
diff --git a/os/windows/install.wxs b/os/windows/install.wxs
index 08de42f..299ca9b 100755
--- a/os/windows/install.wxs
+++ b/os/windows/install.wxs
@@ -10,7 +10,7 @@
        <Product Id="*"
          Codepage="1252" Language="1033"
          Manufacturer="fio" Name="fio"
-         UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="2.2.13">
+         UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="2.3">
                <Package
                  Description="Flexible IO Tester"
                  InstallerVersion="301" Keywords="Installer,MSI,Database"
diff --git a/stat.c b/stat.c
index a3bfe63..3070cef 100644
--- a/stat.c
+++ b/stat.c
@@ -1730,19 +1730,19 @@ void __show_running_run_stats(void)
        fio_gettime(&tv, NULL);
 
        for_each_td(td, i) {
-               rt[i] = mtime_since(&td->start, &tv);
-               if (td_read(td) && td->io_bytes[DDIR_READ])
-                       td->ts.runtime[DDIR_READ] += rt[i];
-               if (td_write(td) && td->io_bytes[DDIR_WRITE])
-                       td->ts.runtime[DDIR_WRITE] += rt[i];
-               if (td_trim(td) && td->io_bytes[DDIR_TRIM])
-                       td->ts.runtime[DDIR_TRIM] += rt[i];
-
                td->update_rusage = 1;
                td->ts.io_bytes[DDIR_READ] = td->io_bytes[DDIR_READ];
                td->ts.io_bytes[DDIR_WRITE] = td->io_bytes[DDIR_WRITE];
                td->ts.io_bytes[DDIR_TRIM] = td->io_bytes[DDIR_TRIM];
                td->ts.total_run_time = mtime_since(&td->epoch, &tv);
+
+               rt[i] = mtime_since(&td->start, &tv);
+               if (td_read(td) && td->ts.io_bytes[DDIR_READ])
+                       td->ts.runtime[DDIR_READ] += rt[i];
+               if (td_write(td) && td->ts.io_bytes[DDIR_WRITE])
+                       td->ts.runtime[DDIR_WRITE] += rt[i];
+               if (td_trim(td) && td->ts.io_bytes[DDIR_TRIM])
+                       td->ts.runtime[DDIR_TRIM] += rt[i];
        }
 
        for_each_td(td, i) {
@@ -1758,11 +1758,11 @@ void __show_running_run_stats(void)
        __show_run_stats();
 
        for_each_td(td, i) {
-               if (td_read(td) && td->io_bytes[DDIR_READ])
+               if (td_read(td) && td->ts.io_bytes[DDIR_READ])
                        td->ts.runtime[DDIR_READ] -= rt[i];
-               if (td_write(td) && td->io_bytes[DDIR_WRITE])
+               if (td_write(td) && td->ts.io_bytes[DDIR_WRITE])
                        td->ts.runtime[DDIR_WRITE] -= rt[i];
-               if (td_trim(td) && td->io_bytes[DDIR_TRIM])
+               if (td_trim(td) && td->ts.io_bytes[DDIR_TRIM])
                        td->ts.runtime[DDIR_TRIM] -= rt[i];
        }
 
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to