![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/memory_arena.h"#include <errno.h>#include <stdio.h>#include <string.h>#include <sys/mman.h>
Include dependency graph for memory_arena.c:Data Structures | |
| struct | dt_free_run_t |
Macros | |
| #define | _GNU_SOURCE |
Typedefs | |
| typedef struct dt_free_run_t | dt_free_run_t |
Functions | |
| gboolean | dt_cache_arena_calc (const dt_cache_arena_t *a, size_t size, uint32_t *out_pages, size_t *out_size) |
| void * | dt_cache_arena_alloc (dt_cache_arena_t *a, size_t size, size_t *out_size) |
| void | dt_cache_arena_free (dt_cache_arena_t *a, void *ptr, size_t size) |
| void | dt_cache_arena_stats (dt_cache_arena_t *a, uint32_t *out_total_free_pages, uint32_t *out_largest_free_run_pages) |
| void | dt_cache_arena_cleanup (dt_cache_arena_t *a) |
| int | dt_cache_arena_init (dt_cache_arena_t *a, size_t total_size) |
| gboolean | dt_cache_arena_ptr_in (const dt_cache_arena_t *a, const void *ptr) |
| #define _GNU_SOURCE |
| typedef struct dt_free_run_t dt_free_run_t |
| void * dt_cache_arena_alloc | ( | dt_cache_arena_t * | a, |
| size_t | size, | ||
| size_t * | out_size | ||
| ) |
| gboolean dt_cache_arena_calc | ( | const dt_cache_arena_t * | a, |
| size_t | size, | ||
| uint32_t * | out_pages, | ||
| size_t * | out_size | ||
| ) |
References dt_cache_arena_t::base, FALSE, dt_cache_arena_t::num_pages, dt_cache_arena_t::page_size, size, and TRUE.
Referenced by _arena_alloc_with_defrag(), dt_cache_arena_alloc(), dt_cache_arena_free(), and dt_pixel_cache_new_entry().
| void dt_cache_arena_cleanup | ( | dt_cache_arena_t * | a | ) |
References dt_cache_arena_t::base, dt_pthread_mutex_destroy(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_cache_arena_t::free_runs, dt_cache_arena_t::lock, dt_cache_arena_t::num_pages, dt_cache_arena_t::page_size, dt_cache_arena_t::size, and TRUE.
Referenced by dt_dev_pixelpipe_cache_cleanup().
| void dt_cache_arena_free | ( | dt_cache_arena_t * | a, |
| void * | ptr, | ||
| size_t | size | ||
| ) |
References dt_cache_arena_t::base, dt_cache_arena_calc(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_cache_arena_t::free_runs, dt_free_run_t::length, dt_cache_arena_t::lock, dt_cache_arena_t::num_pages, dt_cache_arena_t::page_size, dt_cache_arena_t::size, size, and dt_free_run_t::start.
Referenced by _free_cache_entry(), and dt_pixelpipe_cache_alloc_align_cache_impl().
| int dt_cache_arena_init | ( | dt_cache_arena_t * | a, |
| size_t | total_size | ||
| ) |
| gboolean dt_cache_arena_ptr_in | ( | const dt_cache_arena_t * | a, |
| const void * | ptr | ||
| ) |
References dt_cache_arena_t::base, FALSE, and dt_cache_arena_t::size.
| void dt_cache_arena_stats | ( | dt_cache_arena_t * | a, |
| uint32_t * | out_total_free_pages, | ||
| uint32_t * | out_largest_free_run_pages | ||
| ) |
References dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_cache_arena_t::free_runs, and dt_cache_arena_t::lock.
Referenced by _arena_alloc_with_defrag(), and _arena_stats_bytes().