|
@@ -112,7 +112,9 @@ void * best_fit_on_freelist(heap_t *heap, size_t requested_size) {
|
|
|
return best_block;
|
|
|
}
|
|
|
|
|
|
-void * good_fit_on_freelist(heap_t *heap, size_t requested_size, float fit_percentage) {
|
|
|
+#ifdef GOOD_FIT
|
|
|
+
|
|
|
+void * good_fit_on_freelist(heap_t *heap, size_t requested_size) {
|
|
|
void *current_block, *previous_block;
|
|
|
void *best_block, *best_previous_block;
|
|
|
size_t best_size, block_size;
|
|
@@ -134,7 +136,7 @@ void * good_fit_on_freelist(heap_t *heap, size_t requested_size, float fit_perce
|
|
|
best_previous_block = previous_block;
|
|
|
|
|
|
* is no need to keep searching for a better sized block */
|
|
|
- if(fit_percentage * best_size <= requested_size) {
|
|
|
+ if(heap->dmm_knobs.fit_percentage * best_size <= requested_size) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -165,6 +167,8 @@ void * good_fit_on_freelist(heap_t *heap, size_t requested_size, float fit_perce
|
|
|
return best_block;
|
|
|
}
|
|
|
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
|
|
|
* \details In order to remove a block from a singly linked list, we need to
|