Menu

Commit [r550]  Maximize  Restore  History

c.lib 1.210 (22.11.2016)

- Added __get_slab_allocations() function which will report information
about each memory allocation made by the slab allocator which does
not come from a slab.

- 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.

obarthel 2016-11-22

changed /trunk/library/GNUmakefile.68k
changed /trunk/library/amiga.lib_rev.h
changed /trunk/library/amiga.lib_rev.rev
changed /trunk/library/c.lib_rev.h
changed /trunk/library/c.lib_rev.rev
changed /trunk/library/changes
changed /trunk/library/debug.lib_rev.h
changed /trunk/library/debug.lib_rev.rev
changed /trunk/library/include/stdlib.h
changed /trunk/library/libc.gmk
changed /trunk/library/m.lib_rev.h
changed /trunk/library/m.lib_rev.rev
changed /trunk/library/m881.lib_rev.h
changed /trunk/library/m881.lib_rev.rev
changed /trunk/library/net.lib_rev.h
changed /trunk/library/net.lib_rev.rev
changed /trunk/library/smakefile
added /trunk/library/stdlib_get_slab_allocations.c
changed /trunk/library/stdlib_get_slab_usage.c
changed /trunk/library/stdlib_malloc.c
changed /trunk/library/stdlib_memory.h
changed /trunk/library/stdlib_slab.c
changed /trunk/library/unix.lib_rev.h
changed /trunk/library/unix.lib_rev.rev
/trunk/library/GNUmakefile.68k Diff Switch to side-by-side view
Loading...
/trunk/library/amiga.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/amiga.lib_rev.rev Diff Switch to side-by-side view
Loading...
/trunk/library/c.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/c.lib_rev.rev Diff Switch to side-by-side view
Loading...
/trunk/library/changes Diff Switch to side-by-side view
Loading...
/trunk/library/debug.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/debug.lib_rev.rev Diff Switch to side-by-side view
Loading...
/trunk/library/include/stdlib.h Diff Switch to side-by-side view
Loading...
/trunk/library/libc.gmk Diff Switch to side-by-side view
Loading...
/trunk/library/m.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/m.lib_rev.rev Diff Switch to side-by-side view
Loading...
/trunk/library/m881.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/m881.lib_rev.rev Diff Switch to side-by-side view
Loading...
/trunk/library/net.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/net.lib_rev.rev Diff Switch to side-by-side view
Loading...
/trunk/library/smakefile Diff Switch to side-by-side view
Loading...
/trunk/library/stdlib_get_slab_allocations.c Diff Switch to side-by-side view
Loading...
/trunk/library/stdlib_get_slab_usage.c Diff Switch to side-by-side view
Loading...
/trunk/library/stdlib_malloc.c Diff Switch to side-by-side view
Loading...
/trunk/library/stdlib_memory.h Diff Switch to side-by-side view
Loading...
/trunk/library/stdlib_slab.c Diff Switch to side-by-side view
Loading...
/trunk/library/unix.lib_rev.h Diff Switch to side-by-side view
Loading...
/trunk/library/unix.lib_rev.rev Diff Switch to side-by-side view
Loading...
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.