1. 26 Mar, 2019 1 commit
  2. 14 Mar, 2019 1 commit
  3. 13 Mar, 2019 1 commit
    • Nicolas Denoyelle's avatar
      [refactor] reorganize repository · 2ad4488c
      Nicolas Denoyelle authored
      - create one directory per building block in src and include
      - keep one directory for tests, \
        otherwise automake make them "test suites"
      - move to AC_OPENMP, which is from autoconf 2.62 (2008)
      2ad4488c
  4. 15 Feb, 2019 1 commit
  5. 06 Aug, 2018 1 commit
    • Swann Perarnau's avatar
      [fix] Align mbind arguments properly. · 30d3840a
      Swann Perarnau authored
      mbind requires that the input ptr be aligned on a page.
      
      NOTE: we could also figure out a way to ask jemalloc
      for page-aligned allocations, but that would probably
      be too much for each alloc.
      30d3840a
  6. 22 Mar, 2018 1 commit
  7. 11 Mar, 2018 1 commit
    • Swann Perarnau's avatar
      [fix] area_binding should create the binding · f79e5b43
      Swann Perarnau authored
      As we cannot find out in advance the binding an area uses, it is not
      possible to use a correctly allocated pointer to aml_area_binding.
      
      Fixes a segfault we observed outside of current unit-tests.
      f79e5b43
  8. 08 Mar, 2018 1 commit
    • Swann Perarnau's avatar
      [feature] areas can now provide their binding · 1e0d24b8
      Swann Perarnau authored
      Allows memory movement logic to ask a target area how memory should be
      bound to it.
      
      Note that it would be safer in the long term to have areas take a
      binding at creation time, and translate to nodemasks internally.
      1e0d24b8
  9. 01 Feb, 2018 1 commit
    • Swann Perarnau's avatar
      [refactor] new version of the API · a002945c
      Swann Perarnau authored
      This is the result of countless interations on the internal design of
      the various building blocks we want to have for this library.
      
      At this point, I hope that this is stable enough. There are still some
      tweaks needed here and there, but the core is implemented AND tested.
      
      Some of the design decisions made:
      - all functions are public, but most are not meant to be used directly.
      - intended public functions take "generic" structs as arguments
      - intended actual implementations rely on more complex structures, with
      their own family of data and operators.
      - split all objects between data and operator structs.
      
      Exemple:
      - area.c and arena.c are generic dispatch functions to call the actual,
        specific implementations.
      - struct aml_area and struct_aml_arena are the same.
      
      Currently implement:
      - 2 area types: posix (malloc) and linux (numa).
      - 1 arena type: jemalloc
      a002945c