summaryrefslogtreecommitdiff
path: root/benchmarks/iozone/patches/patch-iozone.c
blob: d72bee49e9a438a4c16a2cbd3cb184f5834f9af3 (plain)
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))