From b8e6a2e5b8fc64ec47adfbe583b8a27200cc5a2e Mon Sep 17 00:00:00 2001 From: eunhhu Date: Mon, 19 Oct 2026 09:58:47 +0100 Subject: The modules an app ran are freed (research 115's next step): every app's module a Loaded with holds (each snapshot of it, each request read with it); one replaced is retired and freed on the apps thread once no app runs it, every connection thread has begun a pass since (woken for it), and nothing holds it; who keeps a module to ask later whether it is the same asks its serial (core: PureModule.serial, a reader's module_serial, pure_snapshot_module, pure_snapshot_release says it freed; serve: routes, groups, links, bindings, queries, the published snapshot), as an address may come back; a link binds under its receiver's lock, a link naming an input under binding_lock; 030's memory.py: 4,000 changes 0 bytes a change (was 19,284), 4,100 freed; stress.py: readers, view workers, push streams and a body across changes, 586 of 600 loads at a freed module's address, every answer right, ASan 1,000 changes clean; a push group that looked while its app resumed missed the new snapshot (published before the app took requests) and waited for its next save: woken again once it takes them (server_view_workers had failed once under load) --- research/experiments/030-app-lifecycle/2026-10-19-memory.jsonl | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 research/experiments/030-app-lifecycle/2026-10-19-memory.jsonl (limited to 'research/experiments/030-app-lifecycle/2026-10-19-memory.jsonl') diff --git a/research/experiments/030-app-lifecycle/2026-10-19-memory.jsonl b/research/experiments/030-app-lifecycle/2026-10-19-memory.jsonl new file mode 100644 index 0000000..af9b7e6 --- /dev/null +++ b/research/experiments/030-app-lifecycle/2026-10-19-memory.jsonl @@ -0,0 +1,2 @@ +{"way": "module", "changes": 4000, "private_dirty_kib": [3024, 3024], "pss_kib": [3953, 3953], "per_change_bytes": 0, "modules_freed": 4100, "modules_retired": 0} +{"way": "budget", "changes": 4000, "private_dirty_kib": [2960, 2960], "pss_kib": [3889, 3889], "per_change_bytes": 0, "modules_freed": 0, "modules_retired": 0} -- cgit v1.2.3