1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00
Commit Graph

18 Commits

Author SHA1 Message Date
5617c0eacf Slab allocator update
Unused slabs which get recycled are no longer reinitialized from scratch if their chunk size matches what the allocator needed. If the chunk size matches, the list of available chunks is left unchanged, and just the various counters are reset.

Added __get_slab_stats() function.

Added support for global __slab_purge_threshold tuning variable.

Added a short test program for the slab allocator.

The malloc-test program was linked against the wrong object file in GNUmakefile.68k. Fixed.
2016-11-27 15:53:40 +01:00
0c5b88d2d3 Slab allocator changes
If the first slab in the list of slabs which share the same chunk size has no more room, it means that all other slabs following it have no room either. This speeds up the test to find a slab with free space, which can now abort and directly proceed to allocate memory for a new slab.

If an empty slab's decay count hits zero, it is moved to the front of the empty slab list to be reclaimed more quickly.

Allocations made from the slab now carry a pointer back to the slab which they are a part of. This speeds up deallocation but has the downside of making the smallest usable slab chunk size 64 bytes, which is double what used to be the minimum before.
2016-11-22 11:07:38 +01:00
eb223f269d simple_sprintf build again
simple_sprintf needs libgcc.a to build correctly.
2016-11-18 17:20:58 +01:00
0b833b8680 - Added the base_dir_nametest test program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15154 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2006-09-25 18:20:09 +00:00
36c33073a5 - Added the fstat() test program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15137 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2006-09-20 19:46:37 +00:00
cdfe0dad6f - Added the "execvp_test" program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15117 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2006-08-02 09:22:38 +00:00
2cf92a6395 - Added the rand() test program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15099 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2006-04-18 08:29:46 +00:00
9c436ceaaa - Added the "setlocale.c" test program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15089 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2006-04-05 06:35:42 +00:00
23c2091ab4 - Added "factorial" test program for "%g" testing.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15077 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2006-01-02 13:11:39 +00:00
4cde124d5d - Added the sscanf_64 test program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15022 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-08-27 12:52:26 +00:00
5acfef419b - Added the "date_test" program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15019 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-08-26 12:21:51 +00:00
df05c80c57 - Added a simple test for sprintf() which does not use any of the
normal library startup code.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14952 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-05-17 19:15:32 +00:00
2be60de3e7 - Added "fstat_stdout_test".
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14939 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-05-08 16:27:25 +00:00
2c3bd39f71 - Added a very simple test program, just to see how much of the library
it will pull in when linked.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14856 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-03-03 15:12:18 +00:00
0deb0e3e2d - Added uname command, as contributed by Peter Bengtsson. Thank you very much!
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14855 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-03-03 15:02:26 +00:00
0ed8ef67ed - Added the strtok_test program.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14759 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-10-25 19:50:33 +00:00
6a2db55fc2 - Added the test program for the sprintf() buffer flush bug, courtesy of
Jens Langner.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14725 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-09-10 07:41:13 +00:00
51c2ad8cfd - Added a build makefile for GCC/68k.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14710 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2004-08-14 15:01:22 +00:00