Blame ChangeLog

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