dmm_config.h.in 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /*
  2. * Copyright Institute of Communication and Computer Systems (ICCS)
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. *
  16. */
  17. /**
  18. * @file dmm_config.h
  19. * @author Ioannis Koutras (joko@microlab.ntua.gr)
  20. * @date November 2012
  21. * @brief Macro defines for dmmlib.
  22. *
  23. * Warning: This is a file which is generated automatically, you have to
  24. * configure, compile and install dmmlib again in order to change the following
  25. * macros.
  26. */
  27. #ifndef DMM_CONFIG_H
  28. #define DMM_CONFIG_H
  29. /* General Settings */
  30. /** Support for freelist-organized raw blocks */
  31. #cmakedefine FL_RB_ONLY
  32. /** Support for bitmap-organized raw blocks */
  33. #cmakedefine BITMAP_RB_ONLY
  34. /** Default raw block size */
  35. #cmakedefine SYS_ALLOC_SIZE @SYS_ALLOC_SIZE@
  36. /** Support for locks */
  37. #cmakedefine HAVE_LOCKS
  38. /** Trace level */
  39. #cmakedefine TRACE_LEVEL @TRACE_LEVEL@
  40. /* Free-list Settings */
  41. #ifdef FL_RB_ONLY
  42. /* Fitting Policies */
  43. /** Support for best-fit policy */
  44. #cmakedefine BEST_FIT
  45. /** Support for exact-fit policy */
  46. #cmakedefine EXACT_FIT
  47. /** Support for first-fit policy */
  48. #cmakedefine FIRST_FIT
  49. /** Support for good-fit policy */
  50. #cmakedefine GOOD_FIT
  51. /** Good-fit percentage */
  52. #cmakedefine GOOD_FIT_PERCENTAGE @GOOD_FIT_PERCENTAGE@
  53. /* Ordering Policies */
  54. /** Support for address-ordering */
  55. #cmakedefine ADDRESS_ORDERED
  56. /** Support for FIFO-ordering */
  57. #cmakedefine FIFO_ORDERED
  58. /** Support for LIFO-ordering */
  59. #cmakedefine LIFO_ORDERED
  60. /** Support for size-ordering */
  61. #cmakedefine SIZE_ORDERED
  62. /* Coalescing Settings */
  63. /** Support of coalescing of fixed size */
  64. #cmakedefine COALESCING_FIXED
  65. /** Support of coalescing of variable size */
  66. #cmakedefine COALESCING_VARIABLE
  67. /** Default maximum coalescing size */
  68. #cmakedefine MAX_COALESCE_SIZE @MAX_COALESCE_SIZE@
  69. /* Splitting Settings */
  70. /** Support of splitting of fixed size */
  71. #cmakedefine SPLITTING_FIXED
  72. /** Support of splitting of variable size */
  73. #cmakedefine SPLITTING_VARIABLE
  74. /** Default minimum splitting size */
  75. #cmakedefine MIN_SPLITTING_SIZE @MIN_SPLITTING_SIZE@
  76. /** Support to coalesce after splitting */
  77. #cmakedefine COALESCE_AFTER_SPLIT
  78. #endif /* FL_RB_ONLY */
  79. /* Bitmap Settings */
  80. #ifdef BITMAP_RB_ONLY
  81. /** How many bytes per cell should be used */
  82. #cmakedefine BITMAP_RESOLUTION @BITMAP_RESOLUTION@
  83. #endif /* BITMAP_RB_ONLY */
  84. /** Keep track of the requested size */
  85. #cmakedefine REQUEST_SIZE_INFO
  86. /** Support for statistics per raw block */
  87. #cmakedefine WITH_RAWBLOCK_STATS
  88. /** Support for global statistics */
  89. #cmakedefine WITH_ALLOCATOR_STATS
  90. /** Support for knobs */
  91. #cmakedefine WITH_KNOBS
  92. /** Support for debugging functions */
  93. #cmakedefine WITH_DEBUG
  94. /** Support for realloc() calls */
  95. #cmakedefine WITH_REALLOC
  96. /** Support for memalign() calls */
  97. #cmakedefine WITH_MEMALIGN
  98. /** Make raw block requests for sizes that are multiple of the pagesize */
  99. #cmakedefine PAGESIZE_ALIGN
  100. #endif /* DMM_CONFIG_H */