From bb912b081ed339e4a5419bd3d2ffd7465f2f72d3 Mon Sep 17 00:00:00 2001 From: nodist Date: Mon, 27 Jul 2026 17:17:56 -0400 Subject: bottom up redesign --- docs/application/shared.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 docs/application/shared.md (limited to 'docs/application/shared.md') diff --git a/docs/application/shared.md b/docs/application/shared.md deleted file mode 100644 index 0528645..0000000 --- a/docs/application/shared.md +++ /dev/null @@ -1,38 +0,0 @@ -# Shared - ---- - -## Object Definitions - -```c -typedef struct _kpl_shared { - bool mark; - kpl_class data; - kpl_mutex mutex; -} kpl_shared; - -_Atomic uint32_t shared_threads_makred; - -static kpl_shared *shared_mark_head, *shared_head; - -static kpl_mutex shared_head_mutex; -``` - -# Garbage Collection - -## Initiation Task - -1. Move `shared_head` to `shared_mark_head` -2. Set `shared_threads_makred` to 0 -3. Add a mark task to each of the threads - -## Mark Task(s) - -1. Run gc interface on each task in the threads queue -2. Increase `shared_threads_makred` -3. If `shared_threads_makred` is equal to `avaiable_threads` schedule sweep task - -## Sweep Task - -1. Go through `shared_mark_head` freeing anything that is not marked -2. Add anything left on `shared_mark_head` to `shared_head` -- cgit v1.2.3