| [Note: newer entries are at the bottom] |
| |
| The actual patches and their series are in the tarball: patches.tar.gz |
| |
| Early prehistory: |
| |
| - Fix some warnings |
| - Add const to global variables and prototypes |
| - Document numa_warn |
| - Add numa_distance() support to read topology |
| - remove internal alias from numa_{warn,error} to allow overwriting |
| again |
| - Various bug fixes |
| - add -f option to memhog to map file |
| - more bugfixes |
| - replace forward backward with STREAM test in numademo |
| |
| 0.6.1 |
| |
| - make headers C++ clean |
| |
| 0.6.2 |
| |
| - use more accurate buffer length for cpumask |
| - add --cpubind to test suite |
| |
| 0.6.3 |
| |
| - fix cpumask parser for large number of cpus. |
| Note that you need a kernel patch (as of 2.6.7-pre) for that too |
| if the cpumask is longer than 99 characters. |
| |
| 0.6.4 |
| |
| - Add Copyright headers |
| |
| 0.6.5 |
| |
| - Reduce unneeded DSO relocations (Arjan van de Ven) |
| - Add -r option to memhog (repeat walk) |
| - some manpage fixes |
| - Use syscall numbers from asm/unistd.h if possible |
| - Add numa_node_size64 to handle large nodes on 32bit architectures |
| - Fix numactl to use it (report from Rajan Ravindran) |
| - Use ln -sf in make install (Rajan Ravindran) |
| - Add syscall numbers for ppc/ppc64 |
| - Add private syscall6 for i386 since the glibc version is broken |
| - Remove STUB |
| - Change numactl --show to use cpubind instead of nodebind for CPU affinity. |
| - Fix make install into examples directory |
| - Work around broken sched_set_affinity API. This adds a 32768 CPUs limit. |
| - Fix segfault with /sys not mounted. |
| - Clean up Makefile |
| - Make numactl --show more clever |
| |
| 0.7-pre1 |
| |
| - add test/regress2 and some fixes to test programs |
| - Fix DSO relocation patch for global variables |
| - Change nodeset sizes back to be binary compatible with SLES9 |
| - Cosmetic changes to manpages (pointed out by Eric S. Raymond) |
| - Make numa_run_on_node etc. act on current thread only even on NPTL systems |
| (Dinakar Guniguntala) |
| - Make numa_no_nodes / numa_all_nodes const (Werner Almesberger) |
| - Fix up the warnings caused by above change |
| - Add numa_distance() on systems with ACPI |
| - remove some obsolete code |
| - add rdtsc for ppc64 |
| - fix unsigned/unsigned long confusion in cpumasks (Matt Dobson) |
| - fix CPU_BYTES and rename CPU_WORDS to CPU_LONGS (Matt Dobson) |
| - Print node distances in numactl |
| |
| [0.7 skipped] |
| |
| 0.8 |
| - hardend numactl command line parsing against bad arguments in some cases |
| - remove cpumask/nodemask confusion which has become a FAQ: |
| --cpubind deprecated, added --cpunodebind and --physcpubind= options |
| print both in --show, old cpumask kept for compatibility |
| - Fix --show problems |
| - various fixes for bugs noted by Mike Stroyan (thanks!) |
| - install set_mempolicy manpage |
| - various smaller fixes |
| |
| 0.9 |
| - Get rid of bogus distance.o that broke compilation on !x86-64 (sorry) |
| - Handle CFLAGS overriding without OPT_CFLAGS (Ian Wienand) |
| - Fix up section of get/set_mempolicy (Ian Wienand) |
| - When no NUMA available fall back to one global node instead of one node |
| per CPU (Samuel Thibault) |
| - Don't rely on architecture symbols for dependency generation |
| - Use __powerpc__ to detect PPC/PPC64 |
| - numastat: |
| * wrap display properly with many nodes |
| * display nodes in forward order |
| * install manpage in `make install'. |
| - remove bogus numamemcpy.c |
| - numademo: |
| * allow standalone compile, make streamlib optional |
| * clean up output |
| * change output unit to standard MB/s |
| * compile with more optimization |
| * add random pass to fool any prefetching (slow) |
| - make numademo compileable outside source tree |
| - use gettimeofday instead of time stamp counters in benchmarks |
| - support valgrind in testsuite |
| - other minor changes |
| |
| 0.9.1 |
| - Make automatic selection of lib64 vs lib more robust. Now should work |
| even on ppc32 with a lib64 directory. Architecture lists are hardcoded now |
| unfortunately. |
| |
| 0.9.2 |
| - Fix compilation on architectures with gcc 3.3+ but without TLS |
| (MIPS, Alpha, Sparc) |
| - Add warning against using of MPOL_F_NODE |
| - numa.3 improvements from Michael Kerrisk |
| - Support page migration (migratepages, manpages) from Christoph |
| Lameter. Requires 2.6.16+ kernels |
| |
| 0.9.3 |
| - Some more manpage fixes |
| - install migratepages manpage in make install |
| - Build fix for Debian make from Ian Wienand |
| |
| 0.9.4: |
| - Remove syscall manpages. They're in main man-pages now. |
| - More migrate fixes from C.Lameter |
| |
| 0.9.5: |
| - Fix parsing of cpumap in sysfs from Doug Chapman |
| |
| 0.9.6: |
| - Fix make install again |
| |
| 0.9.7 |
| - Fix cpumap parsing fix to not corrupt memory (Doug Chapman) |
| - Small optimization to cpumap parsing |
| - Create target directories for Debian (Ian Wienand) |
| |
| 0.9.8 |
| - Fix cpumap parsing again (Doug Chapman) |
| |
| 0.9.9 (aka "Will 1.0 ever happen?") |
| - Fix sizing of cpu buffers for affinity syscalls |
| - Don't corrupt errno in numa_run_on_node_mask. This fixes |
| numactl cpubind issues on some systems. |
| - Print cpus belonging to nodes in numactl --hardware |
| - Rewrite cpumap parser to be simpler and hopefully finally work |
| in all cases |
| - add testcases for cpu affinity and topology discovery |
| - Add make test target to run regression test easier and fix up |
| test/README |
| |
| Lots of fixes thanks to thorough testing by Noriyuki Taniuchi: |
| - Better command line parsing in numactl and fix various documentation bugs |
| - Wrong arguments to --prefered don't crash numactl anymore |
| - Fix --cpunodebind=all |
| - Auto collect short option list in numactl - a couple were missing. |
| - Fix documentation of numa_set_localalloc. It doesn't have a flag. |
| - Fix numa_run_on_node(-1) |
| - numa_get_run_node_mask(): Fix documentation, don't warn |
| |
| 0.9.10: |
| - Fix cpumap parsing bug when NR_CPUS < 32 (dean gaudet) |
| |
| 0.9.11 |
| - Fix usage output for --shmid (Noriyuki Taniuchi) |
| - Use correct syscall number for migrate_pages() on PPC |
| |
| 1.0 |
| - Add sleep to regression test to work with delayed statistic |
| updating in newer kernels (Mel Gorman) |
| - Default to -O2 |
| |
| 1.0.1 |
| - Fix build on powerpc |
| |
| 1.0.2 |
| - Fix parallel Makefile build (Andreas Herrmann) |
| - Fix target command argument parsing for numactl (no -- needed again anymore) |
| - Clarify numa_node_to_cpus() manpage |
| |
| 1.0.3 |
| |
| - Add the migspeed test program to test the speed of migrating pages from |
| one node to another |
| - Support for move_pages(2) to numactl, and numa_move_pages() to libnuma |
| - Add the move_pages test command to exercise the move_pages(2) system call |
| - Add the mbind_mig_pages test command to verify the moving of a task's |
| pages with move_pages(2) |
| - Add the migrate_pages test command to test that a task's pages can be |
| moved with move_pages(2) |
| - Support numactl +nn syntax for cpuset_relative cpu and node numbers |
| - Modify libnuma to use variable-length bit masks (the bitmask structure) |
| - Modify numactl, migspeed, memhog, migratepages, numademo and stream_main |
| to use variable-length bit masks |
| - Modify the test/ programs to use the libnuma that uses variable size bit masks |
| - Version 2 (symbol versioning) |
| - Man page changes with the change to variable-length bit masks, move_pages |
| migrate_pages and others |
| |
| 2.0.0 |
| - Added API version 2 and symbol versioning. This provides binary |
| compatibility with old codes that use libnuma. |
| - Brought the man page in line with the version 2 changes. |
| - Provide numacompat1.h and additions to numa.h, which provide source code |
| compatibility to libnuma version 1. (The application progamming interface |
| changes, but the ABI is preserved through the use of symbol versioning. So |
| the library stays libnuma.so.1) |
| - Added variable-length bit masks to libnuma. These are struct bitmask. |
| This allows libnuma to be independent of ever increasing cpu counts. |
| o Modified the test/ programs to use variable size bit masks. |
| o Modified numactl, migspeed, memhog, migratepages, numademo and stream_main |
| to use variable-length bit masks. |
| - Added support for move_pages(2) (sys_move_pages()) to numactl. Adds |
| numa_move_pages() to libnuma. |
| o Added the mbind_mig_pages test command to verify the moving of a |
| task's pages with move_pages(2). |
| o Added the move_pages test command to exercise the move_pages(2) system call. |
| o Added the migrate_pages test command to test that a task's pages can |
| be moved with move_pages(2). |
| o Added the migspeed test program. It tests the speed of migrating pages |
| from one node to another. |
| - Allow a numactl +nn syntax for cpuset_relative cpu and node numbers. |
| - General cleanup of man page. |
| - Return nodes allowed by the application's current cpuset context via new |
| API numa_get_mems_allowed(). |
| - Change numa_alloc_local() to use MPOL_PREFERRED with NULL nodemask to |
| effect local allocation. |
| - Man page for numactl: numa_maps man page clarifications and cleanup |
| - Minor cleanups of numademo.c |
| - Fix numastat sysfs scanning in numactl |
| - Reorganize the regress test script. |
| - Fix mempolicy regression test for assymetric platforms and memoryless nodes. |
| - Fix checkaffinity and checktopology regression tests. |
| - Fix the __NR_migrate_pages system call number. |
| - Fix the way numactl handles the building of the mask when executing |
| the --physbind option, and the way Cpus_allowed mask is created. |
| |
| 2.0.1 |
| - Fix bug in dombind (when passed a null) |
| - Make 4 fixes from Debian: MIPS support, MIPS hppa fix for syscalls, |
| make sure -lm for numademo, build a static library |
| - Fix parsing of /proc/self/status for 2.6.25 additions to it |
| |
| 2.0.2 |
| - Various numademo improvements: |
| * Fix random benchmark to use all specified memory |
| * Rename to random2 to signify it's different |
| * Optimize random benchmark by inlining random number generator fast path. |
| * Clear caches between runs for more stable results |
| * Add new random pointer chaser benchmark |
| * Compile benchmarks with gcc vectorization if available |
| * run numademo in regression test |
| - Add numa_exit_on_warn |
| - Fix no cpuset fallback in libnuma.c |
| - Install symlinks for the manpages of all new functions |
| - Make internal libnuma functions static |
| - Add copy_bitmask_to_bitmask() to numa.h |
| - Some cleanups |
| - Fix line reading in proc |
| - Add versions.ldscript to libnuma.so dependencies |
| - Remove the non-"numa_" functions from numacompat1.h and numa.h |
| - Add ia64 clearcache() to numademo |
| - Add -t to numademo for regression testing |
| - Remove "numa_all_cpus" from numa.h |
| - Changed VERSION1_COMPATIBILITY to NUMA_VERSION1_COMPATIBILITY |
| - Defined LIBNUMA_API_VERSION 2 in numa.h |
| - Fix numaif.h and numaint.h (migrate_pages; from Masatake Yamato) |
| - Fixes to numademo (min/max, and array index; from Kent Liu) |
| - Fixes to Makefile and permissions; from Berhard Walle |
| |
| 2.0.3-rc1 - rc3 |
| - Fixes to libnuma.c numa.h numacompat1.h by Daniel Gollub to fix v1 compatiblity |
| - Restore nodemask_zero() and nodemask_equal() |
| - Drops a warning message about this not being a NUMA system |
| - Remove the numa_maps.5 man page (it's in Linux now) (by Bernhard Walle) |
| - Fix makefiles in tests (Andi) |
| - Fix off-by-ones in test mbind_mig_pages (Andi) |
| - Fix test/prefered.c (Andi) |
| - Fix to print_node_cpus() (Arnd/Bill Buros) |
| - Fixes to read_mask() (Arnd's on top of cpw's) |
| - Fix to makefile (LDFLAGS/LDLIBS/AR/RANLIB) (Mike Frysinger) |
| - Fix numactl for noncontiguous nodes (Amit Arora) |
| - Fix bitmask memory leaks, numa_alloc_onnode/numa_preferred (Kornilios Kourtis) |
| - Add numa_node_of_cpu() to retrieve local node of a cpu (Kornilios Kourtis) |
| - Fix parsing of /proc/self/status (Brice Goglin/Lee Shermerhorn) |
| - Small reorganization of numa_alloc_local() (L.S.) |
| - Fixes of bitmask memory leaks in about eight functions (L.S.) |
| - Make library always return allocated masks that user can free (L.S.) |
| - Fix to numademo memtest (allocation overhead) (L.S.) |
| - Fix to checkaffinity test (possible shell errors) (L.S.) |
| - Fix a printf in migspeed.c (Frederik Himpe) |
| - Fix test/regress grep of node number (Cliff W.) |
| - Change numademo to finish in a timely manner on large machines (Cliff W.) |
| - tested on 96p 48nodes |
| |
| 2.0.3-rc1 - rc4 |
| - Add --dump-nodes option to numactl (Andi) |
| |
| 2.0.3 released in June, 2009 |
| |
| 2.0.4-rc3 |
| - Fix numactl for a machine with sparse cpu ids (Anton Blanchard) |
| - Fix makefile to remove move_pages on make clean (Andi) |
| - Fix numa_node_to_cpus() (Sharyathi Nagesh) |
| - Rename 'thread' to 'task' (L.S.) |
| - Remove other trailing spaces (Cliff W.) |
| - Man page correction/clarification for numa_node_to_cpus() (Ian Wienand) |
| - Man page clarification for numactl (Mike MacCana) |
| - Fix numactl --hardware for cpu-less nodes (Thomas Renninger) |
| - Fix set_configured_cpus() (Jan Beulich) |
| - Fix memory corrupting use of strlen (Jan Beulich) |
| - Add a DSO destructor for memory deallocation (Neil Horman) |
| |
| 2.0.4 released in July, 2010 |
| |
| 2.0.5 released in July, 2010 (about 2 days after 2.0.4) |
| - Fix numactl calls to set_mempolicy, get_mempolicy and mbind |
| |
| newer: |
| - include stat.h in shm.c (Mike Frysinger) |
| |
| 2.0.6-rc1 |
| - Correct numa_max_node() use of broken numa_num_configured_nodes() (Tim Pepper) |
| - Use numa_max_node() not numa_num_configured_nodes() (Tim Pepper) |
| - Fix numa_num_configured_nodes() to match man page description (Tim Pepper) |
| - Clarify comment for numa_all_nodes_ptr extern (Tim Pepper) |
| - numactl --hardware should handle sparse node numbering (Tim Pepper) |
| - Maintain compatibility with 2.0.3 numa_num_thread...()'s (Cliff W.) |
| 2.0.6-rc2 |
| - numa_num_task_cpus()/..nodes() to return actual counts (Cliff W.) |
| 2.0.6-rc3 |
| - Fix numa_get_run_node_mask() to return a cpuset-aware node mask (Cliff W.) |
| (replaced 110112) |
| - Add a better warning to numa_node_to_cpus() |
| 2.0.6-rc4 |
| - Fix numa_get_mems_allowed() to use MPOL_F_MEMS_ALLOWED (Michael Spiegel) |
| |
| 2.0.6 released Dec, 2010 |
| |
| 2.0.7-rc1 |
| - 110111 Add numa_realloc() (and realloc_test) (Vasileios Karakasis) |
| - 110112 Re-fix numa_get_run_node_mask() and fix numa_get_run_node_mask (Cliff) |
| - 110112 Fix the numa_get_run_node_mask() man page (cpus vs nodes) (Cliff W.) |
| 2.0.7-rc2 |
| - 110112 Fix the cpu and node parsing to be cpuset aware (Cliff W.) |
| - 110112 Fix test/checkaffinity to be cpuset aware (Cliff W.) |
| - 110302 Fix two typos in numactl.8 (John Bradshaw) |
| |
| 2.0.7 released Apr, 2011 |
| |
| 2.0.8-rc1 |
| - 110818 Checking of sucessful allocations in numademo (Petr Holasek) |
| 2.0.8-rc2 |
| - 110823 Fix of numactl (--touch) warnings and man page (Cliff W.) |
| 2.0.8-rc3 |
| - 111214 Add "same" nodemask alias to numactl (Andi Kleen) |
| - 111214 Add constructors for numa_init/exit (Andi Kleen) |
| - 111214 Add use of glibc syscall stub where possible (Andi Kleen) |
| - 111214 Fix regress1 to show all the problems before exiting (Andi Kleen) |
| - 111214 Add IO affinity support (Andi Kleen) |
| - 111214 Clean regression test temp files (Andi Kleen) |
| - 111214 Add an option to memhog to disable transparent huge pages (Andi Kleen) |
| - 111214 Fix the test suite on systems that force THP, disable them (Andi Kleen) |
| 2.0.8-rc4 |
| - 120106 Install man pages migspeed, migratepages and numastat (Petr Holasek) |
| - 120106 Warnings in numa_node_to_cpus_v1 to be more verbose (Petr Holasek) |
| - 120216 Fix for numademo: msize check for ptrchase test (Petr Holasek) |
| 2.0.8-rc5 |
| - 120823 Fix calculation of maxconfiguredcpu (Petr Holasek) |
| - 120823 Fix: do not recalculate maxconfiguredcpu (Petr Holasek) |
| - 120823 v.1.3 numa_num_possible_cpus symbol is exported (Petr Holasek) |
| - 120823 Add all versions of numa_parse_{cpu,node}string() (Petr Holasek) |
| - 120823 Add numa_parse_cpustring take a const char* parameter (Petr Holasek) |
| - 120823 Fix unused bufferlen variable (Petr Holasek) |
| - 120823 Fix warnings when there are holes in numbering of nodes (Petr Holasek) |
| 2.0.8-rc6 |
| - 120911 Show distances on machines without a node 0 (Petr Holasek) |
| - 121007 Replace perl numastat with a C command (Bill Gray) |
| - 121011 Allow an install location PREFIX in the Makefile (Frank Tampe) |
| |
| 2.0.8 released Oct, 2012 |
| |
| 2.0.9-rc1 |
| - 130207 Add a prototype for numa_bitmask_weight (Cliff W.) |
| 2.0.9-rc2 |
| - 130725 Fix numastat huge pages bug, version number, man page (Bill Gray) |
| - 130726 Disable the regress-io test (Cliff W.) |
| - 130730 Fix typos in numactl man page; add short opts to --help (Petr Holasek) |
| 2.0.9-rc3 |
| - 130906 numactl: option --all/-a added for policy settings (Petr Holasek) |
| - 130906 libnuma: new function numa_run_on_node_mask_all (Petr Holasek) |
| |
| 2.0.9 released Oct, 2013 |
| |
| 2.0.10-rc1 |
| - 131123 numactl: numactl check for NUMA available (Elena Ufimtseva) |
| - 140715 numactl: fix numactl --show and preferrred node (Bill Gray) |
| 2.0.10-rc2 |
| - 140722 makefile: remove warning about missing .depend (Filipe Brandenburger) |
| - 140820 convert the build procedure to automake (Filipe Brandenburger) |
| |
| 2.0.10 released Oct, 2014 |
| |