summaryrefslogtreecommitdiff
path: root/pk.h.in
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2024-11-22 14:32:51 -0500
committerJonathan Bradley <jcb@pikum.xyz>2024-11-22 16:35:43 -0500
commit31275f4cee6f0593fc39fecef04477d4a26e8df4 (patch)
tree5ae3dfc297fb3729ecf74b0e8a52bb7cf3ddc574 /pk.h.in
parentf23b4ce2dd648174a5df0e259faf7209c5d4c653 (diff)
pkmem.h: test for expected assert failures
Diffstat (limited to 'pk.h.in')
-rw-r--r--pk.h.in11
1 files changed, 8 insertions, 3 deletions
diff --git a/pk.h.in b/pk.h.in
index 0115872..e3af304 100644
--- a/pk.h.in
+++ b/pk.h.in
@@ -52,9 +52,14 @@
********************************************************************************
* pkmem.h: def PK_IMPL_MEM before including pk.h to enable ad-hoc.
*
-* A bucketed memory manager. Allows the creation and management of up to a well
-* known number of buckets. While this is thread-safe, the threading safety is
-* a Grug implementation via a single mutex. PRs welcome.
+* A bucketed memory manager. Allows for the creation and management of up to a
+* well-defined number of buckets.
+*
+* Thread safety: Bucket creation and destruction is *not* thread-safe. On the
+* other hand, the "pk_new" and "pk_delete" methods *are* thread-safe, but
+* thread-safety is implemented per-bucket via a single mutex with long-running
+* lock times. PRs for a more performant thread-safe strategy are welcome,
+* complexity and benchmark depending.
*
* The following definitions (shown with defaults) can be overridden:
* PK_DEFAULT_BUCKET_SIZE 256MB (used when bkt is NULL on first call)