-
Notifications
You must be signed in to change notification settings - Fork 2
/
macros.h
61 lines (44 loc) · 1.64 KB
/
macros.h
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
54
55
56
57
58
59
60
61
/*
* Copyright 2016 Information Systems Group, Saarland University
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* macros.h
*
* Created on: Feb 03, 2015
* Author: Felix Martin Schuhknecht, Pankaj Khanchandani
*/
#ifndef MACROS_H_
#define MACROS_H_
// pass via gcc -D
//#define ERRORCHECK
#define CACHELINE_SIZE 64
#define SMALL_PAGE_SIZE 4096
#define ENTRIES_PER_SMALL_PAGE (SMALL_PAGE_SIZE / sizeof(entry_t))
#define ENTRIES_PER_SMALL_PAGE_LOG2 9
#define HUGE_PAGE_SIZE 2097152
#define ENTRIES_PER_HUGE_PAGE (HUGE_PAGE_SIZE / sizeof(entry_t))
#define ENTRIES_PER_HUGE_PAGE_LOG2 18
#define HUGE_PAGE_TLB_SLOTS 32
#define INDEX_ENTRIES_PER_HUGE_PAGE (HUGE_PAGE_SIZE / sizeof(entry_pair_t))
#define MAX_KEY 18446744073709551615u
#define TUPLES_PER_CACHELINE (CACHELINE_SIZE / sizeof(entry_t))
#define INDEX_ENTRIES_PER_CACHELINE (CACHELINE_SIZE / sizeof(entry_pair_t))
// specifies the number of columns in row_t
#ifndef NUM_COLUMNS
#define NUM_COLUMNS 1
#endif
#define SEED 42
#define MAX_NUMBER_OF_PARAMETERS 10
#define DETAILED_GRANULARITY 10000 // measure a block of 10000 elements
#define ACCESS_PERMISSION 0666
#define X_FIELDS_Y_RUNS true
#endif /* MACROS_H_ */