On 5/21/20 8:40 AM, Jens Axboe wrote:
Let me know if you have pending items that should go into 3.20, or if you're happy with the current state.
I've not run fio on FreeBSD for a while, and just noticed a couple of things - which fortunately aren't blockers since I see you've already tagged 3.20 :)
Running "./fio --help" prints the usage information and then pauses for about a second. Interrupting it and looking at the backtrace shows:
(gdb) bt #0 _umtx_op () at _umtx_op.S:4#1 0x00000008007260b0 in pshared_gc (curthread=0x801212000) at /usr/src/lib/libthr/thread/thr_pshared.c:110 #2 __thr_pshared_destroy (key=<optimized out>) at /usr/src/lib/libthr/thread/thr_pshared.c:253 #3 0x0000000800720023 in _thr_mutex_destroy (mutex=0x801809bd8) at /usr/src/lib/libthr/thread/thr_mutex.c:482
#4 0x0000000000268d97 in __fio_sem_remove (sem=0x801809bd8) at fio_sem.c:20 #5 0x000000000028db35 in fio_filelock_exit () at filelock.c:104 #6 0x0000000000244ead in free_shm () at init.c:335#7 0x000000080091be25 in __cxa_finalize (dso=0x0) at /usr/src/lib/libc/stdlib/atexit.c:240 #8 0x00000008008aea71 in exit (status=0) at /usr/src/lib/libc/stdlib/exit.c:74 #9 0x000000000024495c in parse_cmd_line (argc=2, argv=0x7fffffffeaa0, client_type=1) at init.c:2901 #10 0x0000000000244f02 in parse_options (argc=2, argv=0x7fffffffeaa0) at init.c:2958 #11 0x000000000029828a in main (argc=2, argv=0x7fffffffeaa0, envp=<optimized out>) at fio.c:42
Also, building on FreeBSD or Linux with clang 10.0 produces lots of warnings. I've uploaded the build log to http://bex.dev/typescript-fio320-clang10-linux .
An example of the warnings:crc/../arch/../lib/rand.h:109:25: warning: implicit conversion from 'unsigned long long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-int-float-conversion]
return (val + 1.0) / (FRAND64_MAX + 1.0); ^~~~~~~~~~~ ~ crc/../arch/../lib/rand.h:9:22: note: expanded from macro 'FRAND64_MAX' #define FRAND64_MAX (-1ULL) ^~~~~crc/../arch/../lib/rand.h:136:41: warning: implicit conversion from 'unsigned long long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-int-float-conversion]
return (uint64_t) ((double)end * (r / (FRAND64_MAX + 1.0))); ^~~~~~~~~~~ ~ crc/../arch/../lib/rand.h:9:22: note: expanded from macro 'FRAND64_MAX' #define FRAND64_MAX (-1ULL) ^~~~~ 2 warnings generated.crc/murmur3.c:33:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 2: ^crc/murmur3.c:33:2: note: insert '__attribute__((fallthrough));' to silence this warning
case 2: ^ __attribute__((fallthrough)); crc/murmur3.c:33:2: note: insert 'break;' to avoid fall-through case 2: ^ break;crc/murmur3.c:36:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 1: ^crc/murmur3.c:36:2: note: insert '__attribute__((fallthrough));' to silence this warning
case 1: ^ __attribute__((fallthrough)); crc/murmur3.c:36:2: note: insert 'break;' to avoid fall-through case 1: ^ break; -- Rebecca Cran
Attachment:
typescript-clang10-freebsd13
Description: Binary data