History log of /dflybsd-src/lib/libc/stdlib/dmalloc.c (Results 1 – 17 of 17)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 17183580 02-Jun-2023 Matthew Dillon <dillon@apollo.backplane.com>

libc - pthread_key_create() adjustments

* Have libc's stub conditionals ignore any error return from
pthread_key_create() stubs, in case we decide to change the
stub in the future.

* Change pth

libc - pthread_key_create() adjustments

* Have libc's stub conditionals ignore any error return from
pthread_key_create() stubs, in case we decide to change the
stub in the future.

* Change pthread_key_create() to start allocating keys at key #1
to work around issues with third party programs making assumptions
about the valid key range.

show more ...


Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# 5280ff77 18-Oct-2019 zrj <rimvydas.jasinskas@gmail.com>

Cleanup <sys/uio.h> includes.

No longer needed after <sys/ktrace.h> cleanup.


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# c9cb4430 06-Apr-2019 zrj <rimvydas.jasinskas@gmail.com>

libc/dmalloc: Adjust for aligned_alloc() changes.

Follow up for d3a54aee8be483132cb76ecb195180d8c3cf9ed4.


# 9706d23c 06-Apr-2019 zrj <rimvydas.jasinskas@gmail.com>

libc/dmalloc: Fix unused warning for non INVARIANTS.


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc
# f7b2bab1 04-Dec-2017 Matthew Dillon <dillon@apollo.backplane.com>

libc - Adjust comment

* Adjust comment for dmalloc.c


Revision tags: v5.0.2
# e2caf0e7 08-Nov-2017 Matthew Dillon <dillon@apollo.backplane.com>

libc and pthreads - Fix atfork issues with nmalloc, update dmalloc

* Implement atfork handling for nmalloc. As part of this, refactor
some of nmalloc.

* Remove ZERO_LENGTH_PTR from nmalloc. Ins

libc and pthreads - Fix atfork issues with nmalloc, update dmalloc

* Implement atfork handling for nmalloc. As part of this, refactor
some of nmalloc.

* Remove ZERO_LENGTH_PTR from nmalloc. Instead, force 0-byte
allocations to allocate 1 byte. The standard requires unique
pointers to be returned.

* For now go back to a single depot lock instead of a per-zone
lock. It is unclear whether multi-threaded performance will
suffer or not, but its the only way to implement atfork handling.

* Implement proper atfork interlocks for nmalloc via pthreads to avoid
corruption when heavily threaded programs call fork().

* Bring dmalloc up to date in various ways, including properly
implementing a minimum 16-byte alignment for allocations >= 16 bytes,
and atfork handling. Also use a global depot lock for the same
reason we use it in nmalloc, and implement a front-end magazine
shortcut for any allocations <= 2MB.

Reported-by: mneumann

show more ...


Revision tags: v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3
# 965b839f 04-Jul-2015 Sascha Wildner <saw@online.de>

Use roundup2() from <sys/param.h> in a number of places.


Revision tags: v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4
# 2d4b0500 02-Feb-2015 Imre Vadasz <imre@vdsz.com>

libc -- dmalloc: Fix uninitialized variable in memrealloc().


Revision tags: v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc
# 450f08db 23-Sep-2013 Sascha Wildner <saw@online.de>

libc: Raise WARNS to 1 and fix warnings.

* Raise the priorities of our constructor functions from 0 to 101 because
0-100 are reserved priorities. This results in no change in object code
(as per

libc: Raise WARNS to 1 and fix warnings.

* Raise the priorities of our constructor functions from 0 to 101 because
0-100 are reserved priorities. This results in no change in object code
(as per comparison using hexdump(1)).

* Provide a prototype for _pthread_init_early().

* Be less strict in the exclusion of gdtoa's files to also match the files
outside contrib/ (in lib/libc/gdtoa/). Do the same for libc_rtld.

* Also fix an ignored attribute warning due to __thread being defined
empty in libc_rtld.

Note that the most important aspect of this commit is that it causes libc
to no longer be built with -w (suppress all warnings). This was the result
of a hack we have to ignore warnings for gdtoa (which resides in contrib/).
But in conjunction with WARNS being 0 it led to -w being set for _all_
files of libc.

Removing -w causes all the warnings which are enabled by default (even
without any -W options) to trigger again, in addition the few -W options
that WARNS=1 actually sets.

Thanks to aggelos for useful clues.

show more ...


Revision tags: v3.4.3
# a1113e4e 07-Jun-2013 Sascha Wildner <saw@online.de>

Remove some unused variables.


Revision tags: v3.4.2, v3.4.1, v3.4.0, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3
# 9437e5dc 31-May-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# 20b2da2c 25-May-2012 Venkatesh Srinivas <me@endeavour.zapto.org>

libc -- dmalloc: Call malloc_init as-needed, rather than via ctor (#2)

This commit is a second revision of
e12d3396c777165504d60d2a1408dcd7cb63660d; for details, see the original
commit message.

Th

libc -- dmalloc: Call malloc_init as-needed, rather than via ctor (#2)

This commit is a second revision of
e12d3396c777165504d60d2a1408dcd7cb63660d; for details, see the original
commit message.

That commit was reverted quickly, as it broke pthreads; this revision
does not suffer from that problem, as it preserves the __constructor
logic for malloc_init.

Reverts: 4018c6eddd57f4abf9134690cbfa46c9d7103558 (Revert libc ...)
Reported-by: marino@
Closes-bug: 2305

show more ...


# 4018c6ed 22-May-2012 Sascha Wildner <saw@online.de>

Revert "libc -- dmalloc: Call malloc_init as-needed, rather than via cc constructor."

This reverts commit e12d3396c777165504d60d2a1408dcd7cb63660d.


# 4c5b0fa8 20-May-2012 Matthew Dillon <dillon@apollo.backplane.com>

Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2


# e12d3396 20-May-2012 Venkatesh Srinivas <me@endeavour.zapto.org>

libc -- dmalloc: Call malloc_init as-needed, rather than via cc constructor.

dmalloc requires its own _nmalloc_thr_init be called before it can service
allocations. Applications with preinit arrays

libc -- dmalloc: Call malloc_init as-needed, rather than via cc constructor.

dmalloc requires its own _nmalloc_thr_init be called before it can service
allocations. Applications with preinit arrays were able to call malloc before
constructors ran, which caused them to crash on uninitialized allocator state.

The change uses a flag to test for allocator init state. It is also careful
to not allow _nmalloc_thr_init to be called recursively from within pthread
initialization (slglobal.masked).

Reported-by: marino@
Closes-bug: 2305

show more ...


Revision tags: v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


# ff10d954 13-Nov-2011 Matthew Dillon <dillon@apollo.backplane.com>

libc - Bring dmalloc in for x86-64

* Bring in a much faster allocator for x86-64. DMalloc is a slab alloctor
with dynamic slab sizing capabilities, allowing slabs to be used for
all allocation

libc - Bring dmalloc in for x86-64

* Bring in a much faster allocator for x86-64. DMalloc is a slab alloctor
with dynamic slab sizing capabilities, allowing slabs to be used for
all allocation sizes. This simplifies the code paths considerably.

* DMalloc is optimized for heavy-use situations but will still retain a
run size similar to the old nmalloc code. The VSZ is going to be quite
a bit bigger, though. The best test is w/mysqld as mysql[d] allocates
and frees memory at a very high rate.

* DMalloc is almost completely lockless. Slabs become owned by threads
which can then manipulate them trivially. Frees can operate on foreign
slabs in a lockless manner. A depot is used primarily as a catch-all
for thread exits.

Written-by: Matthew Dillon

show more ...