1. 10 Oct, 2021 1 commit
  2. 03 May, 2021 1 commit
  3. 29 Sep, 2020 1 commit
    • YoongHM's avatar
      Fix compilation warnings in Lua and jemalloc dependencies (#7785) · 448c435b
      YoongHM authored
      
      
      - The argument `u` in for `ar` is ignored (and generates warnings since `D` became the default.
        All it does is avoid updating unchanged objects (shouldn't have any impact on our build)
      - Enable `LUA_USE_MKSTEMP` to force the use of `mkstemp()` instead of `tmpname()` (which is dead
        code in redis anyway).
      - Remove unused variable `c` in `f_parser()`
      - Removed misleadingly indented space in `luaL_loadfile()` and ``addfield()`
      Co-authored-by: default avatarOran Agra <oran@redislabs.com>
      448c435b
  4. 21 Sep, 2020 1 commit
    • YoongHM's avatar
      Fix compilation warning in jemalloc's malloc_vsnprintf (#7789) · 9216b96b
      YoongHM authored
      Change `val` to `unsigned char` before being tested.
      The fix is identical to the one that's been made in upstream jemalloc.
      
      warning is:
      src/malloc_io.c: In function ‘malloc_vsnprintf’:
      src/malloc_io.c:369:2: warning: case label value exceeds maximum value for type
        369 |  case '?' | 0x80:      \
            |  ^~~~
      src/malloc_io.c:581:5: note: in expansion of macro ‘GET_ARG_NUMERIC’
        581 |     GET_ARG_NUMERIC(val, 'p');
            |     ^~~~~~~~~~~~~~~
      9216b96b
  5. 20 May, 2020 1 commit
    • Oran Agra's avatar
      fix a rare active defrag edge case bug leading to stagnation · 88d71f47
      Oran Agra authored
      There's a rare case which leads to stagnation in the defragger, causing
      it to keep scanning the keyspace and do nothing (not moving any
      allocation), this happens when all the allocator slabs of a certain bin
      have the same % utilization, but the slab from which new allocations are
      made have a lower utilization.
      
      this commit fixes it by removing the current slab from the overall
      average utilization of the bin, and also eliminate any precision loss in
      the utilization calculation and move the decision about the defrag to
      reside inside jemalloc.
      
      and also add a test that consistently reproduce this issue.
      88d71f47
  6. 02 Jun, 2019 1 commit
  7. 11 Jul, 2018 1 commit
  8. 27 Jun, 2018 1 commit
  9. 24 May, 2018 2 commits
  10. 17 May, 2018 1 commit
    • Oran Agra's avatar
      Active defrag fixes for 32bit builds · ad133e10
      Oran Agra authored
      problems fixed:
      * failing to read fragmentation information from jemalloc
      * overflow in jemalloc fragmentation hint to the defragger
      * test suite not triggering eviction after population
      ad133e10
  11. 22 Apr, 2017 1 commit
  12. 30 Jan, 2017 1 commit
    • antirez's avatar
      Jemalloc updated to 4.4.0. · 27e29f4f
      antirez authored
      The original jemalloc source tree was modified to:
      
      1. Remove the configure error that prevents nested builds.
      2. Insert the Redis private Jemalloc API in order to allow the
      Redis fragmentation function to work.
      27e29f4f
  13. 10 Jan, 2017 1 commit
  14. 30 Dec, 2016 1 commit
  15. 07 Oct, 2015 1 commit
  16. 06 Oct, 2015 1 commit
  17. 24 Jul, 2015 1 commit
    • antirez's avatar
      Jemalloc: use LG_QUANTUM of 3 for AMD64 and I386. · 6b836b6b
      antirez authored
      This gives us a 24 bytes size class which is dict.c dictEntry size, thus
      improving the memory efficiency of Redis significantly.
      Moreover other non 16 bytes aligned tiny classes are added that further
      reduce the fragmentation of the allocator.
      
      Technically speaking LG_QUANTUM should be 4 on i386 / AMD64 because of
      SSE types and other 16 bytes types, however we don't use those, and our
      jemalloc only targets Redis.
      
      New versions of Jemalloc will have an explicit configure switch in order
      to specify the quantum value for a platform without requiring any change
      to the Jemalloc source code: we'll switch to this system when available.
      
      This change was originally proposed by Oran Agra (@oranagra) as a change
      to the Jemalloc script to generate the size classes define. We ended
      doing it differently by changing LG_QUANTUM since it is apparently the
      supported Jemalloc method to obtain a 24 bytes size class, moreover it
      also provides us other potentially useful size classes.
      
      Related to issue #2510.
      6b836b6b
  18. 20 Jun, 2014 1 commit
  19. 18 Apr, 2013 1 commit
    • antirez's avatar
      Redis/Jemalloc Gitignore were too aggressive. · d04afd62
      antirez authored
      Redis gitignore was too aggressive since simply broken.
      
      Jemalloc gitignore was too agressive because it is conceived to just
      keep the files that allow to generate all the rest in development
      environments (so for instance the "configure" file is excluded).
      d04afd62
  20. 28 Nov, 2012 1 commit
  21. 16 May, 2012 1 commit
  22. 25 Nov, 2011 1 commit
  23. 23 Nov, 2011 1 commit
  24. 20 Jun, 2011 2 commits