Commit Graph

685 Commits

Author SHA1 Message Date
barter-simsum
0ec984663c pma: revisions to codepath handling opening of existing pma 2023-12-15 18:38:52 -05:00
barter-simsum
0496de5f4c pma: testing out a mmap call /before/ reading header 2023-12-15 16:01:34 -05:00
Edward Amsden
820b1ac57a main: add stop_for_debug feature to stop Ares when it starts for a debugger to attach 2023-12-15 12:27:17 -06:00
Edward Amsden
f092c482ee pma: format 2023-12-15 11:17:08 -06:00
Edward Amsden
dd814b3e1f pma: add crate feature to control debugging printfs 2023-12-15 11:16:38 -06:00
Edward Amsden
3acf8e74c1 serf: ensure locals are preserved and top frame flipped after PMA save 2023-12-15 10:00:38 -06:00
barter-simsum
02b1ae3dd2 pma: btest.c changes 2023-12-15 06:36:53 -05:00
barter-simsum
66aaa255f7 pma: fix freelist node size calculation in _mlist_insert 2023-12-15 06:36:30 -05:00
barter-simsum
031e583c3c pma: fix DPRINTF in bt_malloc 2023-12-15 05:38:35 -05:00
barter-simsum
965865da13 pma: mmap freespace ahead of first node partition 2023-12-15 03:24:42 -05:00
barter-simsum
40a04ec8ab pma: _bt_printnode print to stderr 2023-12-15 01:19:28 -05:00
Edward Amsden
a37cf3e779 pma: when persisting hamt check if buffer already in PMA 2023-12-15 00:15:40 -06:00
barter-simsum
ff204263ff pma: misc fixes
- primarily fixes a bug in _mlist_insert and _pending_flist_insert
- also updates some tests
- disables node data printing on _bt_insertdat with DEBUG_PRINTNODE macro
2023-12-15 00:50:26 -05:00
Edward Amsden
bdccac7ff2 pma: fixup of global static PMA 2023-12-14 22:17:25 -06:00
Edward Amsden
8fb0953247 pma: dirty in unifying equality
This changes the PMA to be a static global instead of a threaded-through handle.
We use a OnceLock to enforce one-time-only opening of the PMA. There is
no public PMA type any more, just a collection of module-level methods
which act through the global reference.

This is consistent with the assumptions of the underlying C code, that
there will be only one PMA open in a process, and avoids the need to
thread the PMA to unifying equality calls.
2023-12-14 21:42:31 -06:00
Edward Amsden
caeea6ec2d unifying equality: move to own module 2023-12-14 18:08:55 -06:00
barter-simsum
a509c2fabe pma: even more msync/mprotect changes 2023-12-14 16:40:42 -05:00
barter-simsum
a8b3619e9f pma: more msync/mprotect abort 2023-12-14 16:35:33 -05:00
Edward Amsden
fa30180b68 pma: noun and hamt persist fixes 2023-12-14 15:31:06 -06:00
barter-simsum
92c1a23b7d pma: abort on failed msync/mprotect 2023-12-14 16:30:29 -05:00
Edward Amsden
adfc9ddb10 pma: fix assert in save_to_pma 2023-12-14 14:28:27 -06:00
Edward Amsden
bfdb1b9eb7 pma: fix and simplify copy_to_buffer for Noun 2023-12-14 00:56:39 -06:00
Edward Amsden
5598442304 pma: fix save_to_pma buffer size assertions 2023-12-14 00:45:09 -06:00
Edward Amsden
59180a704b Merge branch 'revert-177-revert-175-eamsden/gc-top-frame' into eamsden/integrate-pma-tmp-fix-gc 2023-12-13 22:39:11 -06:00
barter-simsum
92bb42683d pma: fix c test3 2023-12-13 21:36:34 -05:00
Edward Amsden
be4a6552e1 Merge remote-tracking branch 'origin/status' into revert-177-revert-175-eamsden/gc-top-frame 2023-12-13 20:33:33 -06:00
barter-simsum
20693a32ce pma: tests 2023-12-13 21:32:45 -05:00
Edward Amsden
05b0609b5b 2stackz: comment explaining null checks in is_in_frame 2023-12-13 20:32:01 -06:00
Edward Amsden
f8615b5a4e 2stackz: lint 2023-12-13 19:53:33 -06:00
Edward Amsden
a98524bfd7 2stackz: format 2023-12-13 19:48:34 -06:00
Edward Amsden
046c435fa7 2stackz: fix is_in_frame check for top frame 2023-12-13 19:46:59 -06:00
Edward Amsden
b841fe2f63 hot: fix preserve instance 2023-12-13 19:46:39 -06:00
Alex Shelkovnykov
3d98ab2684
Merge pull request #179 from urbit/as/comments
docs: add comments explaining invariants / algorithms
2023-12-13 18:42:03 -06:00
Alex Shelkovnykov
51e8986327 docs: cargo fmt 2023-12-13 21:19:40 -03:00
barter-simsum
3786277230 pma: remove mkdir call from bt_state_open 2023-12-13 18:25:35 -05:00
Alex Shelkovnykov
235d8c54f1 docs: add comments explaining invariants / algorithms 2023-12-13 12:11:56 -03:00
barter-simsum
c4b1888020 pma: update mprotect calls to use BT_PROT_* macros 2023-12-13 07:52:36 -05:00
barter-simsum
e630016584 pma: mmap changes appear to be working 2023-12-13 07:45:44 -05:00
barter-simsum
88fdfe0755 pma: misc bug fixes
currently debugging an "invalid argument" error in the mmap call in bt_free
2023-12-13 07:17:05 -05:00
barter-simsum
7dfc32681a pma: more mmap changes. WIP 2023-12-12 22:34:26 -05:00
Matthew LeVan
38c1b3cef3
Revert "Revert "2stackz: gc top frame by flipping polarity"" 2023-12-12 21:04:10 -05:00
Matthew LeVan
5bfc83673c
Revert "2stackz: gc top frame by flipping polarity" 2023-12-12 20:48:55 -05:00
barter-simsum
13b5f6bee6 pma: set protection of leaf data when syncing 2023-12-12 20:34:12 -05:00
barter-simsum
e96d7ecb4c pma: mmap and mprotect revisions wip 2023-12-12 18:23:37 -05:00
Edward Amsden
9271deb3d6 pma: set -DDEBUG for default profile 2023-12-11 23:16:32 -06:00
Edward Amsden
94d92e4a3e pma: add a missing ftruncate and mmap call, and lots of notes 2023-12-11 23:15:53 -06:00
Edward Amsden
bbaa758c95 hamt: fix persist instance 2023-12-11 23:15:18 -06:00
Edward Amsden
548dc3f3c4 hamt: when preserving, actually write outermost stem pointer back to mutable self 2023-12-11 19:06:57 -06:00
Edward Amsden
ede9918c03 pma: some quick fixes 2023-12-11 18:34:06 -06:00
Edward Amsden
fd1af932c6 2stackz: fix wrong-end previous allocation pointer in flip_top_frame() 2023-12-11 15:56:05 -06:00