Blame ChangeLog

Packit 345191
* Mon Dec 16 2019 Michal Biesek <michal.biesek@intel.com> v1.10.0
Packit 345191
- Provided another way to use Persistent Memory in memkind (MEMKIND_DAX_KMEM_* kinds)
Packit 345191
- Added C++ allocator for static kinds (including MEMKIND_DAX_KMEM_* kinds)
Packit 345191
- Provided an interface to get memkind allocation statistics
Packit 345191
- Provided a method to reduce fragmentation - memkind_defrag_reallocate()
Packit 345191
- Added support for background thread
Packit 345191
- Updated internally used jemalloc to upstream version 5.2.1
Packit 345191
- Extended hbw interface with hbw_malloc_usable_size()
Packit 345191
- Simplified building process
Packit 345191
Packit 345191
* Wed Apr 3 2019 Michal Biesek <michal.biesek@intel.com> v1.9.0
Packit 345191
- Provided a second function to create PMEM kind memkind_create_pmem_with_config()
Packit 345191
- Provided the memkind_detect_kind() function to recognize a kind from memory allocation
Packit 345191
- Provided memkind_config_set_memory_usage_policy() function
Packit 345191
  that modifies the default memory usage policy behavior
Packit 345191
- Provided the ability to pass a NULL kind to memkind_malloc_usable_size() and memkind_realloc()
Packit 345191
- Unified the memkind_realloc() behavior for all kinds
Packit 345191
- Added the support for the pool_msize() function to TBB
Packit 345191
- Extended build arch to ppc64, ppc64le, s390x
Packit 345191
- Removed disable-stats from used jemalloc
Packit 345191
- Fixed compilation under the Clang and rpm build configuration
Packit 345191
- Provided the support for Dockerfile
Packit 345191
Packit 345191
* Mon Dec 10 2018 Michal Biesek <michal.biesek@intel.com> v1.8.0
Packit 345191
- Fixed error with realloc/free method with passing thread-specific cache flag
Packit 345191
- Fixed error with memkind_create_pmem(), if other PMEM kind was destroyed before
Packit 345191
- Fixed error with zeroing large allocations in PMEM kind
Packit 345191
- Added support to create kind without maximum size limit of PMEM kind (max_size=0)
Packit 345191
- Extended memkind API with memkind_malloc_usable_size()
Packit 345191
- Removed EXPERIMENTAL from most methods in memkind API
Packit 345191
- Added MEMKIND_ERROR_ARENAS_CREATE code
Packit 345191
- Added C++ allocator for PMEM kind
Packit 345191
- Extended PMEM examples
Packit 345191
- Fixed integration with Travis CI
Packit 345191
- Extended Travis CI configuration with Astyle and Coverage
Packit 345191
- Added PMEM kind tests
Packit 345191
Packit 345191
* Wed Jan 24 2018 Pawel Kochanek <pawel.b.kochanek@intel.com> v1.7.0
Packit 345191
- Updated internally used jemalloc to upstream version 5.0.
Packit 345191
- Fixed error that has been occurring while memkind was dynamically loaded.
Packit 345191
- Fixed MEMKIND_HBW_NODES behavior for single NUMA node system.
Packit 345191
- Removed licenses other than BSD 3-clause from COPYING.
Packit 345191
- Changed build instructions.
Packit 345191
- Added configurable jemalloc prefix in build scripts.
Packit 345191
- Upgraded gtest to version 1.8.0.
Packit 345191
- Added memory footprint tests.
Packit 345191
- Added locality test for MEMKIND_PREFERRED.
Packit 345191
- Applied test parametrization in BATests.
Packit 345191
- Fixed problems with pytest testing in Travis.
Packit 345191
- Added huge page configuration in several tests.
Packit 345191
- Removed several symbols that are no longer exposed in public API from man pages.
Packit 345191
- Fixed HBW_POLICY_BIND_ALL documentation.
Packit 345191
Packit 345191
* Tue Jun 13 2017 Artur Koziej <artur.koziej@intel.com> v1.6.0
Packit 345191
- Introduced new policy HBW_POLICY_BIND_ALL.
Packit 345191
- Introduced MEMKIND_HBW_ALL, MEMKIND_HBW_ALL_HUGETLB and MEMKIND_REGULAR kinds.
Packit 345191
- Fixed hbw_posix_memalign_psize() return value in case of unsupported policy and
Packit 345191
  page size combination.
Packit 345191
- Documented supported policy and page size combination for
Packit 345191
  hbw_posix_memalign_psize().
Packit 345191
- Merged libmemkind.a and libjemalloc_pic.a into a single static library.
Packit 345191
- Fixed OOM during tcache acquisition.
Packit 345191
- Tuned huge pages configuration in memkind tests.
Packit 345191
- Added stress tests for allocations with large random sizes.
Packit 345191
- Added stress tests for allocations with random kinds.
Packit 345191
- Extended policy and NUMA node binding tests.
Packit 345191
- Fixed several Travis build problems.
Packit 345191
- Removed gb_page_tests_preferred_policy tests.
Packit 345191
Packit 345191
* Tue Feb 21 2017 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.5.0
Packit 345191
- Intel(R) TBB scalable_allocator can be used as heap management alternative
Packit 345191
  to jemalloc (requires installed Intel (R) TBB package and environment variable
Packit 345191
  MEMKIND_HEAP_MANAGER=TBB)
Packit 345191
- Updated internally used jemalloc to upstream version 4.3.1 (previously modified 3.5.1)
Packit 345191
- Introduced new environment option MEMKIND_HOG_MEMORY. Setting it to "1" will prevent
Packit 345191
  memkind from releasing memory to OS.
Packit 345191
- Introduced support for KNM processor from Intel(R) Xeon Phi(TM) family
Packit 345191
- General cleanup of build scripts (e.g. fixed issues found on Ubuntu,
Packit 345191
  introduced simple build.sh script)
Packit 345191
- Deprecated support for gigabyte-pages
Packit 345191
- Removed number of previously deprecated symbols
Packit 345191
Packit 345191
* Thu Nov 17 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.4.0
Packit 345191
- Introduced hbw_verify_memory_region() for verifying if provided memory
Packit 345191
  region fully falls into high-bandwidth memory (for details please take a look
Packit 345191
  at man/hbwmalloc.3).
Packit 345191
- New API for creating kinds using set of predefined attributes:
Packit 345191
  memkind_create_kind(), memkind_destroy_kind() (for details please take a look
Packit 345191
  at man/memkind.3).
Packit 345191
- Fixed issue in autohbw where it was reporting limit error regardless of
Packit 345191
  value provided.
Packit 345191
- Added logging on error paths.
Packit 345191
- Test base fixes and improvements.
Packit 345191
Packit 345191
* Tue Sep 27 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.3.0
Packit 345191
- Introduced logging mechanism (for details please take a look at
Packit 345191
  man/memkind.3).
Packit 345191
- Deprecated symbols: memkind_finalize(), memkind_get_num_kind(),
Packit 345191
  memkind_get_kind_by_partition(), memkind_get_kind_by_name(),
Packit 345191
  memkind_partition_mmap(), memkind_get_size(), MEMKIND_ERROR_MEMALIGN,
Packit 345191
  MEMKIND_ERROR_MALLCTL,  MEMKIND_ERROR_GETCPU, MEMKIND_ERROR_PMTT,
Packit 345191
  MEMKIND_ERROR_TIEDISTANCE, MEMKIND_ERROR_ALIGNMENT, MEMKIND_ERROR_MALLOCX,
Packit 345191
  MEMKIND_ERROR_REPNAME, MEMKIND_ERROR_PTHREAD, MEMKIND_ERROR_BADPOLICY,
Packit 345191
  MEMKIND_ERROR_REPPOLICY.
Packit 345191
- Added integration with hwloc (turned on with --with-hwloc).
Packit 345191
- Cleanup of symbols exposed by libmemkind.so (e.g. no longer exposing libnuma
Packit 345191
  and jemalloc symbols).
Packit 345191
- AutoHBW files have been moved to "memkind/autohbw" directory, code has
Packit 345191
  been refactored and tests have been added to appropriate scenarios.
Packit 345191
- Library is now built with flags improving security (can be turned off
Packit 345191
  with --disable-secure configure time option).
Packit 345191
- Changed configuration of jemalloc to turn off unused features.
Packit 345191
Packit 345191
* Thu Aug 18 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.2.0
Packit 345191
- memkind_create() and memkind_ops have been deprecated (moved to
Packit 345191
  memkind_deprecated.h).
Packit 345191
- Deprecated the headers from memkind/internal and added compile-time
Packit 345191
  warnings to them (plan is to remove those from rpm packages).
Packit 345191
- autohbw files have been moved to memkind/autohbw directory.
Packit 345191
- API decorators (memkind_malloc_pre, memkind_malloc_post etc.) now
Packit 345191
  need to be enabled with configure-time option --enable-decorators.
Packit 345191
- Allocation time optimizations with up to 20% improvement.
Packit 345191
Packit 345191
* Wed Jul 13 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.1.1
Packit 345191
- Performance improvement for memkind_free() in scenario where NULL
Packit 345191
  was passed as kind (reduced by 60%).
Packit 345191
- Introduced integration with Travis CI.
Packit 345191
- Fixed issue where memory returned from calloc was not filled with zeroes
Packit 345191
  when using memkind_pmem kinds.
Packit 345191
- Fixed issue where interleave kinds was failing on systems without
Packit 345191
  Transparent Huge Pages module configured.
Packit 345191
- Resolved several issues that was causing compilation errors on some systems.
Packit 345191
- test/test.sh is now able to detect system configuration, and run only those
Packit 345191
  tests which requirements are meet.
Packit 345191
- Added gtest to repo to avoid downloading it during build proecess.
Packit 345191
Packit 345191
* Mon May 23 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.1.0
Packit 345191
- Implemented algorithm for detecting high-bandwidth memory on Intel Xeon Phi X200
Packit 345191
  without parsing PMTT.
Packit 345191
- PMTT-parsing service has been removed.
Packit 345191
- memkind struct definition from memkind.h has been replaced by forward
Packit 345191
  declaration. Definition has been moved to /internal/memkind_private.h and
Packit 345191
  shouldn't be considered as part of library interface anymore.
Packit 345191
- Performance improvement for hugetlb kinds (check_available() is no longer
Packit 345191
  parsing sysfs every time).
Packit 345191
- Performance fix by removing --enable-safe from jemmaloc build flags.
Packit 345191
- New tests for validating high-bandwidth memory detection has been added.
Packit 345191
- AFTS has been split into two groups: memkind-afts.ts and memkind-afts-ext.ts,
Packit 345191
  based on amount of required memory (for details view test/README).
Packit 345191
Packit 345191
* Thu Mar 03 2016 Artur Koziej <artur.koziej@intel.com> v1.0.0
Packit 345191
- hbwmalloc.h released as stable API.
Packit 345191
- Introduce API standards: STANDARD API, NON-STANDARD API, EXPERIMENTAL API.
Packit 345191
- Introduce memkind versioning API.
Packit 345191
- Fix type names in hbwmalloc API.
Packit 345191
- Change error codes to POSIX standard ones in hbwmalloc API.
Packit 345191
- Move API headers to include directory.
Packit 345191
- Move NON-STANDARD API, or EXPERIMENTAL API to include/memkind/internal directory.
Packit 345191
- New man page (memkind_interleave.3) describing interleave kind.
Packit 345191
- Significant documentation improvement.
Packit 345191
- Performance fix for jemalloc - significantly decrease of library initialization time.
Packit 345191
- Enforce 2MB alignment in jemalloc due to the Linux kernel bug (munmap() fails for
Packit 345191
  huge pages, when the size is not aligned).
Packit 345191
- Move to systemd defined service (memkind.service), drop init.d script.
Packit 345191
- New rpm layout (memkind and memkind-devel).
Packit 345191
- Remove false dependency on OpenMP.
Packit 345191
- Extend test base for stress, longevity and initialization performance tests.
Packit 345191
- Fix memory leak in ctl_growk().
Packit 345191
- Rename namespace: hbwmalloc -> hbw.
Packit 345191
- Rename class: hbwmalloc_allocator -> allocator.
Packit 345191
Packit 345191
* Thu Oct 15 2015 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v0.3.0
Packit 345191
- Added two new kinds: MEMKIND_INTERLEAVE and MEMKIND_HBW_INTERLEAVE
Packit 345191
  (for details please take a look at man/memkind.3)
Packit 345191
- Added support for file-backed memory heaps
Packit 345191
  (for details please take a look at man/memkind_pmem.3)
Packit 345191
- Added autohbw library, that intercepts the standard heap allocations,
Packit 345191
  which let use high-bandwidth memory without modifying existing codebase
Packit 345191
  (for details please take a look at examples/autohbw_README)
Packit 345191
- jemalloc is now, statically linked, internal component of memkind RPM
Packit 345191
  instead of rpm dependency.
Packit 345191
- Added memkind_allocated example which demonstrates usage of memkind
Packit 345191
  with alignas() alignment specifier introduced in C++11
Packit 345191
  (for details please take a look at examples/README)
Packit 345191
- Added support for using thread local storage to improve performance in
Packit 345191
  multithreaded applications (enabled by configure time option: --enable-tls)
Packit 345191
- Added possibility to set number of jemalloc arenas per kind by
Packit 345191
  configure time parameter or environmental variable
Packit 345191
  (for details please take a look at MEMKIND_ARENA_NUM_PER_KIND section
Packit 345191
  of man/memkind.3).
Packit 345191
- Added decorators to the memkind allocation APIs.
Packit 345191
  These are weak symbols (pre and post for each API) which can modify
Packit 345191
  the input and output of each of the calls.
Packit 345191
- Significantly extended test base (new groups of tests: performance,
Packit 345191
  multithreaded, PMTT, nagtive, stress).
Packit 345191
Packit 345191
* Fri Jan 9 2015 Christopher Cantalupo <christopher.m.cantalupo@intel.com> v0.2.0
Packit 345191
- Bumped memkind ABI version to 0:1:0.
Packit 345191
- Removed memkind_get_kind_for_free() from externally facing API's.  Instead if
Packit 345191
  memkind_free() is called with zero passed for the kind then
Packit 345191
  memkind_get_kind_for_free() is called internally.
Packit 345191
- Moved to single callback memkind_partition_mmap() to simplify
Packit 345191
  jemalloc modifications.
Packit 345191
- Added hooks for setting file descriptor and offset for mmap enabling
Packit 345191
  file-backed memory kinds.
Packit 345191
- Added a void pointer called "priv" to memkind structure for storing data for
Packit 345191
  user-defined kinds.
Packit 345191
- Removed call to sched_getcpu(), now thread id is hashed to determine the arena
Packit 345191
  index.
Packit 345191
- Added weak symbol hooks for decorating the heap management functions.
Packit 345191
- Fixed several issues with init.d/memkind script and spec file scriptlets that
Packit 345191
  are exposed by SLES-12.
Packit 345191
- Introduced an example library called numakind.
Packit 345191
  The numakind library will allocate from the closest NUMA node to a thread as
Packit 345191
  measured when that thread makes its first allocation call.
Packit 345191
- Fixed error handling in memkind_gbtlb_mmap() that could cause a segfault when
Packit 345191
  gigabyte pages are not available.
Packit 345191
- Added tests for PMTT parser.
Packit 345191
- Removed binary mock PMTT table from source code, replaced it with a hexdump.
Packit 345191
- Fixed a number of issues in test scripts which were suppressing errors.
Packit 345191
- Removed unnecessary includes from header files.
Packit 345191
- Better error checking in example code.
Packit 345191
- Documentation update and clean up.
Packit 345191
Packit 345191
* Thu Nov 13 2014 Christopher Cantalupo <christopher.m.cantalupo@intel.com> v0.1.0
Packit 345191
- Increased test code coverage significantly.
Packit 345191
- Fixed bug in memkind_error_message() for MEMKIND_ERROR_TOOMANY.
Packit 345191
- Removed memkind_arena_free() API since it was redundant with memkind_default_free().
Packit 345191
- Static memkind structs are now declared as extern in the headers and defined in the
Packit 345191
  source files files rather than being statically defined in the headers.
Packit 345191
Packit 345191
* Thu Oct 30 2014 Christopher Cantalupo <christopher.m.cantalupo@intel.com> v0.0.9
Packit 345191
- Now building with autotools.
Packit 345191
- Updated documentation.
Packit 345191
- Fixed typo in copyright.
Packit 345191
- Fixed test scripts to properly handle return code of each test.
Packit 345191
- Added C++03 standard allocator that uses hbw_malloc and hbw_free.
Packit 345191
* Tue Sep 30 2014 Christopher Cantalupo <christopher.m.cantalupo@intel.com> v0.0.8
Packit 345191
- Added GBTLB functionality, code clean up, documentation updates,
Packit 345191
  examples directory.  Examples includes stream modified to use
Packit 345191
  memkind interface.  Code coverage still lacking, and documentation
Packit 345191
  incomplete.