fio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] make fio work on OpenBSD again
@ 2017-04-30 17:35 kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 1/6] Fix "cast from pointer to integer of different size" warning on OpenBSD kusumi.tomohiro
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

This series of patches fix compile time errors recent OpenBSD
versions have had. Now fio compiles and runs on recent versions,
at least on the latest one which is 6.1.

It still shows warnings on sprintf() and strxxx() variants,
but I didn't fix these. There are simply way too many sprintf()
calls, and strlxxx() variants which OpenBSD suggests to use have
their own problems (and that's why glibc doesn't have them,
although fio has its own strlcat() for some reason).

--
 # uname
 OpenBSD
 # uname -r
 6.1
 # gmake clean
 FIO_VERSION = fio-2.19-38-gc9f9
 # ./configure
 Operating system              OpenBSD
 CPU                           x86_64
 Big endian                    no
 Compiler                      gcc
 Cross compile                 no
 
 Static build                  no
 Wordsize                      64
 zlib                          yes
 Linux AIO support             no
 POSIX AIO support             no
 POSIX AIO support needs -lrt  no
 POSIX AIO fsync               no
 POSIX pshared support         no
 Solaris AIO support           no
 __sync_fetch_and_add          yes
 libverbs                      no
 rdmacm                        no
 Linux fallocate               no
 POSIX fadvise                 no
 POSIX fallocate               no
 sched_setaffinity(3 arg)      no
 sched_setaffinity(2 arg)      no
 clock_gettime                 yes
 CLOCK_MONOTONIC               yes
 CLOCK_MONOTONIC_RAW           no
 CLOCK_MONOTONIC_PRECISE       no
 clockid_t                     yes
 gettimeofday                  yes
 fdatasync                     yes
 sync_file_range               no
 EXT4 move extent              no
 Linux splice(2)               no
 GUASI                         no
 Fusion-io atomic engine       no
 libnuma                       no
 strsep                        yes
 strcasestr                    yes
 strlcat                       yes
 getopt_long_only()            yes
 inet_aton                     yes
 socklen_t                     yes
 __thread                      no
 RUSAGE_THREAD                 yes
 SCHED_IDLE                    no
 TCP_NODELAY                   yes
 Net engine window_size        yes
 TCP_MAXSEG                    yes
 RLIMIT_MEMLOCK                yes
 pwritev/preadv                yes
 pwritev2/preadv2              no
 IPv6 helpers                  yes
 Rados Block Device engine     no
 rbd blkin tracing             no
 setvbuf                       yes
 Gluster API engine            no
 s390_z196_facilities          no
 HDFS engine                   no
 MTD                           no
 libpmem                       no
 libpmemblk                    no
 NVML pmemblk engine           no
 NVML dev-dax engine           no
 lex/yacc for arithmetic       no
 getmntent                     no
 getmntinfo                    yes
 Static Assert                 no
 bool                          yes
 march_armv8_a_crc_crypto      no
 cuda                          no
 # gmake -j8 > /dev/null; echo $?
 FIO_VERSION = fio-2.19-38-gc9f9
 smalloc.o: In function `smalloc_strdup':
 /tmp/fio/smalloc.c:470: warning: warning: strcpy() is almost always misused, please use strlcpy()
 t/stest.o: In function `do_rand_allocs':
 t/stest.c:35: warning: warning: rand() may return deterministic values, is that what you want?
 ioengines.o: In function `load_ioengine':
 /tmp/fio/ioengines.c:140: warning: warning: strcpy() is almost always misused, please use strlcpy()
 crc/test.o: In function `fio_crctest':
 crc/test.c:420: warning: warning: sprintf() is often misused, please use snprintf()
 server.o: In function `fio_init_server_connection':
 /tmp/fio/server.c:2205: warning: warning: strcat() is almost always misused, please use strlcat()
 smalloc.o: In function `smalloc_strdup':
 /tmp/fio/smalloc.c:470: warning: warning: strcpy() is almost always misused, please use strlcpy()
 0
 # gmake test
 ./fio --minimal --thread --ioengine=null --runtime=1s --name=nulltest --rw=randrw --iodepth=2 --norandommap --random_generator=tausworthe64 --size=16T --name=verifynulltest --rw=write --verify=crc32c --verify_state_save=0 --size=100M
 3;fio-2.19-38-gc9f9;nulltest;0;0;638852;638852;159713;1000;0;0;0.000000;0.000000;0;544;0.601398;1.719636;1.000000%=0;5.000000%=0;10.000000%=0;20.000000%=0;30.000000%=0;40.000000%=0;50.000000%=1;60.000000%=1;70.000000%=1;80.000000%=1;90.000000%=1;95.000000%=1;99.000000%=1;99.500000%=2;99.900000%=17;99.950000%=19;99.990000%=26;0%=0;0%=0;0%=0;0;1013;1.193654;2.922642;0;0;0.000000%;0.000000;0.000000;641856;641856;160464;1000;0;0;0.000000;0.000000;0;85;0.596589;1.033093;1.000000%=0;5.000000%=0;10.000000%=0;20.000000%=0;30.000000%=0;40.000000%=0;50.000000%=1;60.000000%=1;70.000000%=1;80.000000%=1;90.000000%=1;95.000000%=1;99.000000%=1;99.500000%=2;99.900000%=16;99.950000%=19;99.990000%=24;0%=0;0%=0;0%=0;0;285;1.204999;1.704806;0;0;0.000000%;0.000000;0.000000;0.000000%;0.000000%;0;4;3;100.0%;0.0%;0.0%;0.0%;0.0%;0.0%;0.0%;99.41%;0.29%;0.08%;0.18%;0.03%;0.01%;0.01%;0.00%;0.01%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
 3;fio-2.19-38-gc9f9;verifynulltest;0;0;102400;1089361;272340;94;0;0;0.000000;0.000000;0;78;0.641992;1.166077;1.000000%=0;5.000000%=0;10.000000%=0;20.000000%=0;30.000000%=0;40.000000%=1;50.000000%=1;60.000000%=1;70.000000%=1;80.000000%=1;90.000000%=1;95.000000%=1;99.000000%=1;99.500000%=1;99.900000%=17;99.950000%=19;99.990000%=69;0%=0;0%=0;0%=0;1;101;1.277891;1.513550;0;0;0.000000%;0.000000;0.000000;102400;701369;175342;146;0;0;0.000000;0.000000;0;56;0.709258;1.032103;1.000000%=0;5.000000%=0;10.000000%=0;20.000000%=0;30.000000%=0;40.000000%=1;50.000000%=1;60.000000%=1;70.000000%=1;80.000000%=1;90.000000%=1;95.000000%=1;99.000000%=2;99.500000%=2;99.900000%=18;99.950000%=19;99.990000%=27;0%=0;0%=0;0%=0;1;563;2.078203;4.977238;0;0;0.000000%;0.000000;0.000000;0.000000%;0.000000%;0;6;825;100.0%;0.0%;0.0%;0.0%;0.0%;0.0%;0.0%;98.80%;0.97%;0.02%;0.15%;0.04%;0.01%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
 # ./fio --name=xxxxx --ioengine=sync --rw=rw --bs=32k --size=10m --unlink=1
 fio: this platform does not support process shared mutexes, forcing use of threads. Use the 'thread' option to get rid of this warning.
 xxxxx: (g=0): rw=rw, bs=(R) 32.0KiB-32.0KiB, (W) 32.0KiB-32.0KiB, (T) 32.0KiB-32.0KiB, ioengine=sync, iodepth=1
 fio-2.19-38-gc9f9
 Starting 1 thread
 xxxxx: Laying out IO file (1 file / 10MiB)
 
 xxxxx: (groupid=0, jobs=1): err= 0: pid=949910584: Sun Apr 30 20:21:40 2017
    read: IOPS=1500, BW=46.9MiB/s (49.2MB/s)(5376KiB/112msec)
     clat (usec): min=3, max=2425, avg=179.98, stdev=385.61
      lat (usec): min=4, max=2428, avg=180.83, stdev=386.04
     clat percentiles (usec):
      |  1.00th=[    3],  5.00th=[    3], 10.00th=[    3], 20.00th=[    3],
      | 30.00th=[    4], 40.00th=[    4], 50.00th=[    4], 60.00th=[    4],
      | 70.00th=[    5], 80.00th=[  398], 90.00th=[  604], 95.00th=[ 1128],
      | 99.00th=[ 1576], 99.50th=[ 2416], 99.90th=[ 2416], 99.95th=[ 2416],
      | 99.99th=[ 2416]
   write: IOPS=1357, BW=42.4MiB/s (44.5MB/s)(4864KiB/112msec)
     clat (usec): min=3, max=64802, avg=524.16, stdev=5356.79
      lat (usec): min=4, max=64803, avg=525.77, stdev=5356.72
     clat percentiles (usec):
      |  1.00th=[    3],  5.00th=[    3], 10.00th=[    3], 20.00th=[    4],
      | 30.00th=[    4], 40.00th=[    4], 50.00th=[    4], 60.00th=[    5],
      | 70.00th=[    5], 80.00th=[   13], 90.00th=[   20], 95.00th=[   26],
      | 99.00th=[13248], 99.50th=[64768], 99.90th=[64768], 99.95th=[64768],
      | 99.99th=[64768]
     lat (usec) : 4=19.06%, 10=56.25%, 20=5.62%, 50=4.06%, 100=1.25%
     lat (usec) : 250=0.31%, 500=6.25%, 750=2.81%, 1000=0.62%
     lat (msec) : 2=2.81%, 4=0.31%, 20=0.31%, 100=0.31%
   cpu          : usr=0.00%, sys=0.00%, ctx=80, majf=0, minf=2
   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
      issued rwt: total=168,152,0, short=0,0,0, dropped=0,0,0
      latency   : target=0, window=0, percentile=100.00%, depth=1
 
 Run status group 0 (all jobs):
    READ: bw=46.9MiB/s (49.2MB/s), 46.9MiB/s-46.9MiB/s (49.2MB/s-49.2MB/s), io=5376KiB (5505kB), run=112-112msec
   WRITE: bw=42.4MiB/s (44.5MB/s), 42.4MiB/s-42.4MiB/s (44.5MB/s-44.5MB/s), io=4864KiB (4981kB), run=112-112msec
--


Tomohiro Kusumi (6):
  Fix "cast from pointer to integer of different size" warning on
    OpenBSD
  Fix "C99 inline functions are not supported" warning on OpenBSD
  Fix "'RB_ROOT' undeclared" error on OpenBSD
  Turn off lex by default on OpenBSD
  Implement shm_attach_to_open_removed() for OpenBSD
  Drop XXX for cpu affinity for OpenBSD

 configure       |  3 ++-
 iolog.c         |  2 +-
 os/os-netbsd.h  |  2 +-
 os/os-openbsd.h | 29 ++++++++++++++++++++++++++---
 t/dedupe.c      |  2 +-
 5 files changed, 31 insertions(+), 7 deletions(-)

-- 
2.9.3



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/6] Fix "cast from pointer to integer of different size" warning on OpenBSD
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
@ 2017-04-30 17:35 ` kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 2/6] Fix "C99 inline functions are not supported" " kusumi.tomohiro
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

OpenBSD has below compiler warning due to pthread_t being typedef'd
to struct pthread*.

 os/os-openbsd.h: In function 'gettid':
 os/os-openbsd.h:71: warning: cast from pointer to integer of different size

--
 # uname
 OpenBSD
 # grep pthread_t /usr/include -rI | grep typedef | head -1
 /usr/include/pthread.h:typedef struct   pthread                 *pthread_t;
 # cat ./p1.c
 #include <stdio.h>
 #include <pthread.h>
 int main(void) {
         pthread_t id = 1234;
         printf("%d\n", (int)id);
         return 0;
 }
 # gcc -Wall -g ./p1.c
 ./p1.c: In function 'main':
 ./p1.c:4: warning: initialization makes pointer from integer without a cast
 ./p1.c:5: warning: cast from pointer to integer of different size
 # ./a.out
 1234

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 os/os-openbsd.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/os/os-openbsd.h b/os/os-openbsd.h
index 7def432..9c7092c 100644
--- a/os/os-openbsd.h
+++ b/os/os-openbsd.h
@@ -68,7 +68,7 @@ static inline unsigned long long os_phys_mem(void)
 
 static inline int gettid(void)
 {
-	return (int) pthread_self();
+	return (int)(intptr_t) pthread_self();
 }
 
 static inline unsigned long long get_fs_free_size(const char *path)
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/6] Fix "C99 inline functions are not supported" warning on OpenBSD
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 1/6] Fix "cast from pointer to integer of different size" warning on OpenBSD kusumi.tomohiro
@ 2017-04-30 17:35 ` kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 3/6] Fix "'RB_ROOT' undeclared" error " kusumi.tomohiro
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

OpenBSD has below compiler warning due to hist_sum() being inlined.
It should be fine with no inline (or move it to iolog.h with static
if we somehow want to keep it inlined).

iolog.c:702: warning: C99 inline functions are not supported; using GNU89
iolog.c:702: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 iolog.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/iolog.c b/iolog.c
index 2e8da13..31d674c 100644
--- a/iolog.c
+++ b/iolog.c
@@ -696,7 +696,7 @@ void free_log(struct io_log *log)
 	sfree(log);
 }
 
-inline unsigned long hist_sum(int j, int stride, unsigned int *io_u_plat,
+unsigned long hist_sum(int j, int stride, unsigned int *io_u_plat,
 		unsigned int *io_u_plat_last)
 {
 	unsigned long sum;
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/6] Fix "'RB_ROOT' undeclared" error on OpenBSD
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 1/6] Fix "cast from pointer to integer of different size" warning on OpenBSD kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 2/6] Fix "C99 inline functions are not supported" " kusumi.tomohiro
@ 2017-04-30 17:35 ` kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 4/6] Turn off lex by default " kusumi.tomohiro
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

OpenBSD has below compiler error due to RB_ROOT name conflict between
lib/rbtree.h and OpenBSD header. os/os-{net,open}bsd.h actually have
had a workaround for this by undefing their RB_XXX macros (which fio
doesn't use) for possible conflicts, but then "lib/rbtree.h" needs
to be included after os/os.h which includes os/os-openbsd.h.

t/dedupe.c: In function 'main':
t/dedupe.c:583: error: 'RB_ROOT' undeclared (first use in this function)
t/dedupe.c:583: error: (Each undeclared identifier is reported only once
t/dedupe.c:583: error: for each function it appears in.)

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 t/dedupe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/dedupe.c b/t/dedupe.c
index c0e9a69..1f172a2 100644
--- a/t/dedupe.c
+++ b/t/dedupe.c
@@ -14,7 +14,6 @@
 #include <fcntl.h>
 #include <string.h>
 
-#include "../lib/rbtree.h"
 #include "../flist.h"
 #include "../log.h"
 #include "../mutex.h"
@@ -25,6 +24,7 @@
 #include "../os/os.h"
 #include "../gettime.h"
 #include "../fio_time.h"
+#include "../lib/rbtree.h"
 
 #include "../lib/bloom.h"
 #include "debug.h"
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/6] Turn off lex by default on OpenBSD
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
                   ` (2 preceding siblings ...)
  2017-04-30 17:35 ` [PATCH 3/6] Fix "'RB_ROOT' undeclared" error " kusumi.tomohiro
@ 2017-04-30 17:35 ` kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 5/6] Implement shm_attach_to_open_removed() for OpenBSD kusumi.tomohiro
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

Do the same as what AIX does. OpenBSD (at least recent ones) hits
below syntax error. Feel free to revert this commit and properly
fix this if possible.

CC y.tab.c
exp/expression-parser.y:68: syntax error
%parse-param { long long *result }
^
gmake: *** [Makefile:341: y.tab.c] Error 1

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 configure | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 83a6702..bcb898a 100755
--- a/configure
+++ b/configure
@@ -257,8 +257,9 @@ fi
 # cross-compiling to one of these OSes then you'll need to specify
 # the correct CPU with the --cpu option.
 case $targetos in
-AIX)
+AIX|OpenBSD)
   # Unless explicitly enabled, turn off lex.
+  # OpenBSD will hit syntax error when enabled.
   if test -z "$disable_lex" ; then
     disable_lex="yes"
   else
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/6] Implement shm_attach_to_open_removed() for OpenBSD
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
                   ` (3 preceding siblings ...)
  2017-04-30 17:35 ` [PATCH 4/6] Turn off lex by default " kusumi.tomohiro
@ 2017-04-30 17:35 ` kusumi.tomohiro
  2017-04-30 17:35 ` [PATCH 6/6] Drop XXX for cpu affinity " kusumi.tomohiro
  2017-04-30 22:52 ` [PATCH 0/6] make fio work on OpenBSD again Jens Axboe
  6 siblings, 0 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

Add implementation which had been left by
0cfe2089 (Add runtime handlers for 97900ebf for FreeBSD/DragonFlyBSD).

This implementation is based on what
97900ebf (shm: have os remove shared memory if fio dies unexpectedly)
says. There seems to be no easy way to statically test versions like
KERNEL_VERSION() in Linux kernel.

The code assumes major/minor are both < 10. The minor has never been
10 or above. The major won't be 10 anytime soon based on the past
release cycle (current version is 6.1 after more than 2 decades).
https://en.wikipedia.org/wiki/OpenBSD_version_history

--
 # uname
 OpenBSD
 # uname -r
 6.1
 # cat ./test1.c
 #include <stdio.h>
 #include "./os/os.h"
 #include "./os/os-openbsd.h"
 int main(void) {
         printf("%d\n", shm_attach_to_open_removed());
         return 0;
 }
 # gcc -Wall -g ./test1.c
 # ./a.out
 1

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 os/os-openbsd.h | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/os/os-openbsd.h b/os/os-openbsd.h
index 9c7092c..670892b 100644
--- a/os/os-openbsd.h
+++ b/os/os-openbsd.h
@@ -9,6 +9,7 @@
 #include <sys/ioctl.h>
 #include <sys/dkio.h>
 #include <sys/disklabel.h>
+#include <sys/utsname.h>
 /* XXX hack to avoid conflicts between rbtree.h and <sys/tree.h> */
 #include <sys/sysctl.h>
 #undef RB_BLACK
@@ -90,9 +91,31 @@ static inline unsigned long long get_fs_free_size(const char *path)
 
 static inline int shm_attach_to_open_removed(void)
 {
+	struct utsname uts;
+	int major, minor;
+
+	if (uname(&uts) == -1)
+		return 0;
+
 	/*
-	 * XXX: Return 1 if >= OpenBSD 5.1 according to 97900ebf.
+	 * Return 1 if >= OpenBSD 5.1 according to 97900ebf,
+	 * assuming both major/minor versions are < 10.
 	 */
+	if (uts.release[0] > '9' || uts.release[0] < '0')
+		return 0;
+	if (uts.release[1] != '.')
+		return 0;
+	if (uts.release[2] > '9' || uts.release[2] < '0')
+		return 0;
+
+	major = uts.release[0] - '0';
+	minor = uts.release[2] - '0';
+
+	if (major > 5)
+		return 1;
+	if (major == 5 && minor >= 1)
+		return 1;
+
 	return 0;
 }
 
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 6/6] Drop XXX for cpu affinity for OpenBSD
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
                   ` (4 preceding siblings ...)
  2017-04-30 17:35 ` [PATCH 5/6] Implement shm_attach_to_open_removed() for OpenBSD kusumi.tomohiro
@ 2017-04-30 17:35 ` kusumi.tomohiro
  2017-04-30 22:52 ` [PATCH 0/6] make fio work on OpenBSD again Jens Axboe
  6 siblings, 0 replies; 8+ messages in thread
From: kusumi.tomohiro @ 2017-04-30 17:35 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

This isn't really a fio's TODO item since no such thing seems to
exist (or have existed) in OpenBSD as of 2017, according to below
reference.

NetBSD is in more or less similar situation, except that NetBSD
has pthread_[gs]etaffinity_np() for threads, though it has another
problem that they don't take pid/tid.

CPU affinity comes to OpenBSD (2009)
http://undeadly.org/cgi?action=article&sid=20090324210236

tedu old comment about cpu affinity. (2012)
http://openbsd-archive.7691.n7.nabble.com/tedu-old-comment-about-cpu-affinity-tt172330.html

how to use cpu affinity from user space (2013)
http://openbsd-archive.7691.n7.nabble.com/how-to-use-cpu-affinity-from-user-space-td222323.html

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 os/os-netbsd.h  | 2 +-
 os/os-openbsd.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/os/os-netbsd.h b/os/os-netbsd.h
index e6ba508..7be02a7 100644
--- a/os/os-netbsd.h
+++ b/os/os-netbsd.h
@@ -25,7 +25,7 @@
 #define FIO_HAVE_FS_STAT
 #define FIO_HAVE_GETTID
 
-#undef	FIO_HAVE_CPU_AFFINITY	/* XXX notyet */
+#undef	FIO_HAVE_CPU_AFFINITY	/* doesn't exist */
 
 #define OS_MAP_ANON		MAP_ANON
 
diff --git a/os/os-openbsd.h b/os/os-openbsd.h
index 670892b..d874ee2 100644
--- a/os/os-openbsd.h
+++ b/os/os-openbsd.h
@@ -25,7 +25,7 @@
 #define FIO_HAVE_GETTID
 #define FIO_HAVE_SHM_ATTACH_REMOVED
 
-#undef	FIO_HAVE_CPU_AFFINITY	/* XXX notyet */
+#undef	FIO_HAVE_CPU_AFFINITY	/* doesn't exist */
 
 #define OS_MAP_ANON		MAP_ANON
 
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/6] make fio work on OpenBSD again
  2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
                   ` (5 preceding siblings ...)
  2017-04-30 17:35 ` [PATCH 6/6] Drop XXX for cpu affinity " kusumi.tomohiro
@ 2017-04-30 22:52 ` Jens Axboe
  6 siblings, 0 replies; 8+ messages in thread
From: Jens Axboe @ 2017-04-30 22:52 UTC (permalink / raw)
  To: kusumi.tomohiro; +Cc: fio, Tomohiro Kusumi

On Sun, Apr 30 2017, kusumi.tomohiro@gmail.com wrote:
> From: Tomohiro Kusumi <tkusumi@tuxera.com>
> 
> This series of patches fix compile time errors recent OpenBSD
> versions have had. Now fio compiles and runs on recent versions,
> at least on the latest one which is 6.1.
> 
> It still shows warnings on sprintf() and strxxx() variants,
> but I didn't fix these. There are simply way too many sprintf()
> calls, and strlxxx() variants which OpenBSD suggests to use have
> their own problems (and that's why glibc doesn't have them,
> although fio has its own strlcat() for some reason).

Thanks, applied.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-04-30 22:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-30 17:35 [PATCH 0/6] make fio work on OpenBSD again kusumi.tomohiro
2017-04-30 17:35 ` [PATCH 1/6] Fix "cast from pointer to integer of different size" warning on OpenBSD kusumi.tomohiro
2017-04-30 17:35 ` [PATCH 2/6] Fix "C99 inline functions are not supported" " kusumi.tomohiro
2017-04-30 17:35 ` [PATCH 3/6] Fix "'RB_ROOT' undeclared" error " kusumi.tomohiro
2017-04-30 17:35 ` [PATCH 4/6] Turn off lex by default " kusumi.tomohiro
2017-04-30 17:35 ` [PATCH 5/6] Implement shm_attach_to_open_removed() for OpenBSD kusumi.tomohiro
2017-04-30 17:35 ` [PATCH 6/6] Drop XXX for cpu affinity " kusumi.tomohiro
2017-04-30 22:52 ` [PATCH 0/6] make fio work on OpenBSD again Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).