I use
but it seems freebsd does not have this:
man.freebsd.org
I need to query cache size in the following code:
sysconf(_SC_LEVEL1_DCACHE_SIZE)
in linux,but it seems freebsd does not have this:
sysconf
I need to query cache size in the following code:
C:
// aligned to cache line to avoid false sharing
void *
allocate_shared(size_t size) {
size_t cache_line_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
assert(cache_line_size > 0);
size_t real_size = ((size / cache_line_size) + 1) * cache_line_size;
void *pointer = aligned_alloc(cache_line_size, real_size);
memset(pointer, 0, real_size);
assert(pointer);
assert(pointer_is_8_bytes_aligned(pointer));
assert(pointer_is_cache_line_aligned(pointer));
return pointer;
}