1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
$NetBSD: patch-iozone.c,v 1.1 2022/05/28 11:39:57 adam Exp $
Support DragonFly.
pthread_barrierattr_setpshared() is hidden on NetBSD.
--- iozone.c.orig 2022-03-16 20:00:50.000000000 +0000
+++ iozone.c
@@ -475,6 +475,9 @@ struct piovec piov[PVECMAX];
struct iovec piov[PVECMAX];
#define piov_base iov_base
#define piov_len iov_len
+#if defined (__DragonFly__)
+#define DFLY_VECTOR_OFFSET
+#endif
#endif
#endif
@@ -3971,13 +3974,17 @@ throughput_test()
if(use_thread)
{
barrier = (pthread_barrier_t*)alloc_mem(sizeof(pthread_barrier_t), 0); // Not shared
+#ifndef __NetBSD__
pthread_barrierattr_setpshared(&barrier_attr, PTHREAD_PROCESS_PRIVATE);
+#endif
pthread_barrier_init(barrier, &barrier_attr, num_child);
}
else
{
barrier = (pthread_barrier_t*)alloc_mem(sizeof(pthread_barrier_t), 1); // Shared
+#ifndef __NetBSD__
pthread_barrierattr_setpshared(&barrier_attr, PTHREAD_PROCESS_SHARED);
+#endif
pthread_barrier_init(barrier, &barrier_attr, num_child);
}
@@ -11429,7 +11436,7 @@ long long *data1,*data2;
purgeit(piov[xx].piov_base,reclen);
}
if(pwritev(fd, piov,numvecs
-#ifndef PER_VECTOR_OFFSET
+#if defined(PER_VECTOR_OFFSET) || defined(DFLY_VECTOR_OFFSET)
, list_off[0]
#endif
) != (reclen*numvecs))
@@ -11759,7 +11766,7 @@ long long *data1,*data2;
purgeit(piov[xx].piov_base,reclen);
}
if(preadv(fd, piov, numvecs
-#ifndef PER_VECTOR_OFFSET
+#if defined(PER_VECTOR_OFFSET) || defined(DFLY_VECTOR_OFFSET)
, list_off[0]
#endif
) != (numvecs * reclen))
|