Skip to content
  • Jason Evans's avatar
    Implement cache index randomization for large allocations. · 8a03cf03
    Jason Evans authored
    Extract szad size quantization into {extent,run}_quantize(), and .
    quantize szad run sizes to the union of valid small region run sizes and
    large run sizes.
    
    Refactor iteration in arena_run_first_fit() to use
    run_quantize{,_first,_next(), and add support for padded large runs.
    
    For large allocations that have no specified alignment constraints,
    compute a pseudo-random offset from the beginning of the first backing
    page that is a multiple of the cache line size.  Under typical
    configurations with 4-KiB pages and 64-byte cache lines this results in
    a uniform distribution among 64 page boundary offsets.
    
    Add the --disable-cache-oblivious option, primarily intended for
    performance testing.
    
    This resolves #13.
    8a03cf03
To find the state of this project's repository at the time of any of these versions, check out the tags.