Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of libk/slab.c
2024-02-02
| ||
20:20 | Clear seq on free of slot. Reduce number of gc contexts. We currently max out at 3 for thread marking, so 16 should be fine. file: [adb598b623] check-in: [272b5bc0c5] user: csmith branch: trunk, size: 15222 | |
19:52 | Separate sweep into locked and unlocked calls. file: [e490ab4b46] check-in: [6ba7dc7ab7] user: csmith branch: trunk, size: 15209 | |
2024-02-01
| ||
20:29 | Prefer to sweep for garbage items before GCing.. file: [f387e09c90] check-in: [a747418522] user: csmith branch: gc2, size: 15031 | |
2023-12-27
| ||
01:17 | Idle GC sooner, before we run out of memory and need to GC. file: [8741aa6db6] check-in: [992adbd077] user: csmith branch: trunk, size: 14924 | |
2023-06-11
| ||
11:37 | Only idle GC if we have any inuse data. file: [609a8c89a0] check-in: [7d698bf4b5] user: csmith branch: trunk, size: 14942 | |
2023-03-05
| ||
23:20 | Removed redundent lock. file: [5bf1a50a5f] check-in: [f195d0a033] user: csmith branch: events, size: 14926 | |
2023-03-03
| ||
22:04 | Disable slab heap dump. file: [9b158f2443] check-in: [2d6b9c139b] user: csmith branch: events, size: 14959 | |
2023-02-25
| ||
17:36 | Do idle sweep as quickly as possible before doing an interrupt idle wait. file: [5574771e7b] check-in: [3c31714f06] user: csmith branch: events, size: 14946 | |
2023-02-04
| ||
00:55 | Some cppcheck issues fixed. file: [645cafe4c6] check-in: [4643b18fc0] user: csmith branch: events, size: 14930 | |
2023-01-09
| ||
02:37 | Moving all the devices to devfs based device tree. Moved USB and IDE devices. Yet to do other ISA devices like keyboard controller. file: [d24feb6163] check-in: [d9dba5e1f6] user: csmith branch: events, size: 14906 | |
2022-11-30
| ||
01:07 | Mark context from/to in a single while loop. file: [746687b27b] check-in: [d74ea3f700] user: csmith branch: trunk, size: 14824 | |
2022-11-29
| ||
20:59 | Dump source location for the slab definition. file: [461597263e] check-in: [5e6b1502f2] user: csmith branch: trunk, size: 14835 | |
2022-11-28
| ||
00:37 | Rejigged spinlocks. Spinlocks are no longer used generally. file: [3fd6c7ac29] check-in: [42c42b4555] user: csmith branch: trunk, size: 14692 | |
2022-08-09
| ||
22:34 | Per slab type information. file: [8ad34dcaaf] check-in: [02181793a8] user: csmith branch: trunk, size: 14588 | |
2022-08-07
| ||
20:55 | Allocation context support. file: [4b3196056f] check-in: [dbd5047dbf] user: csmith branch: trunk, size: 14155 | |
2022-06-25
| ||
13:19 | Simplify slab_alloc_p. file: [8ae9d805b4] check-in: [af47fe5d47] user: csmith branch: trunk, size: 17334 | |
2022-06-18
| ||
15:13 | Fix premature GC of new thread. file: [2d2459dcb7] check-in: [fe3951c704] user: csmith branch: trunk, size: 17606 | |
2022-06-12
| ||
17:49 | Incremental sweep, taking the sweep phase out of the GC pause. file: [aa01eae1c3] check-in: [cbb6199bcc] user: csmith branch: trunk, size: 17366 | |
2022-05-13
| ||
21:21 | Added amount of memory freed to the gc_stats. file: [1118ddedaa] check-in: [e958181fe1] user: csmith branch: signals, size: 16889 | |
2022-04-27
| ||
01:48 | Delivering SIGSEGV (or, 11 at least). file: [b1731a45f0] check-in: [c6d005d0b9] user: csmith branch: signals, size: 16808 | |
2022-02-21
| ||
00:33 | Lock around list moves. I think interrupts were causing list moves, or recursive monitor from page faults was corrupting the lists. file: [ee3a8d1b26] check-in: [38c19278d6] user: csmith branch: trunk, size: 16802 | |
2022-02-19
| ||
22:58 | NOT WORKING. Not sure what's going on, but saving it to come back to. Lists are getting mucked up. file: [183d45dde8] check-in: [cc62e65102] user: csmith branch: gc, size: 18698 | |
2022-02-05
| ||
01:21 | Write protect heap prior to GC. Prep for concurrent and/or generational GC. file: [e6e1207476] check-in: [b62217a96e] user: csmith branch: gc, size: 16954 | |
2022-02-03
| ||
23:19 | GC step, a step towards incremental GC. file: [4829830d16] check-in: [a1d0d3e1c8] user: csmith branch: gc, size: 16468 | |
2022-02-01
| ||
22:20 | Fix compilation errors. file: [5fac534959] check-in: [639248b410] user: csmith branch: gc, size: 16448 | |
21:56 | Start of documentation for slab/GC. file: [7a0983bbab] check-in: [a4884bc267] user: csmith branch: gc, size: 16416 | |
2022-01-27
| ||
22:13 | Allow slab_new to fail. Prevents endless GC loops when nothing can be freed to allow a new slab to be created. file: [a4ab13b8f4] check-in: [e7a6a214f9] user: csmith branch: gc, size: 15537 | |
2022-01-24
| ||
09:53 | Fixed finalisation, so I don't finalise data allocated during finalisation! file: [71bd143782] check-in: [e94810fda0] user: csmith branch: gc, size: 15509 | |
01:52 | Start of colouring GC. Not working, getting non-garbage cleaned. file: [9915b24a98] check-in: [d25879dc43] user: csmith branch: gc, size: 15498 | |
2022-01-14
| ||
21:06 | Dump come context when panicking on GC stack overflow. file: [72aa824c9a] check-in: [26a07b436f] user: csmith branch: trunk, size: 15426 | |
2022-01-01
| ||
19:15 | Reclaim empty slabs. file: [3aa8fab6b9] check-in: [5c999adaef] user: csmith branch: threading, size: 14819 | |
2021-12-31
| ||
15:32 | Some more GC fixes. file: [e187860991] check-in: [d406ca8dd9] user: csmith branch: threading, size: 14824 | |
02:57 | Not functioning. Stack structure is being GCed, need to hang on to it before the thread structure is released. file: [3927972cbd] check-in: [1914494f28] user: csmith branch: threading, size: 14577 | |
2021-12-26
| ||
02:42 | More GC context. Panic if overflow. file: [011bbbd173] check-in: [13e18583a9] user: csmith branch: trunk, size: 14577 | |
2021-12-24
| ||
20:29 | zalloc wrapper for calloc. file: [9a365c422f] check-in: [6b9fa165a8] user: csmith branch: trunk, size: 14516 | |
2021-06-06
| ||
00:29 | Device manager work. Updated PCI and PCI devices to use device manager for probing. file: [2189697305] check-in: [cfbdf75eb4] user: csmith branch: usb, size: 14479 | |
2021-03-08
| ||
01:14 | System call fuzzing, and fixes for some issues found as a result. file: [0e395ffd1a] check-in: [c47ff60157] user: csmith branch: trunk, size: 14326 | |
2021-02-14
| ||
02:39 | A bit more checking that pointers are within a valid slab. file: [db7621712a] check-in: [fc9b01fbc8] user: csmith branch: trunk, size: 14291 | |
2021-02-01
| ||
00:13 | Fix a stack of compile warnings. file: [0f60ecb597] check-in: [6fe7bf4d27] user: csmith branch: cleanup, size: 13892 | |
2021-01-30
| ||
18:37 | Output GC stats. file: [3f5e6feb06] check-in: [26b6484272] user: csmith branch: trunk, size: 13934 | |
2021-01-28
| ||
01:13 | Still having problems with monitors and lists. file: [fb0a0c00d7] check-in: [b1a5eea3a8] user: csmith branch: trunk, size: 13917 | |
2021-01-17
| ||
02:01 | Remove dead code. file: [34768c8899] check-in: [106ee3b43b] user: csmith branch: threading, size: 14012 | |
2020-07-19
| ||
02:08 | Ignore invalid pointers when marking. file: [ebffab9389] check-in: [fc7df5368a] user: csmith branch: ide, size: 14049 | |
2020-07-11
| ||
14:50 | Some cleanups. file: [d8fae49706] check-in: [9f7a977ddf] user: csmith branch: trunk, size: 14225 | |
2020-07-09
| ||
01:46 | Remove debugging. file: [e14377cf3f] check-in: [93b2c8acf3] user: csmith branch: vfstree, size: 14605 | |
01:42 | Use static context array for GC. file: [b834682ab4] check-in: [d54bc66b79] user: csmith branch: vfstree, size: 14644 | |
2020-07-08
| ||
22:40 | gcarena was being garbage collected. FFS! file: [d51f99a04a] check-in: [6d5cf85a1f] user: csmith branch: vfstree, size: 14647 | |
01:01 | Clear finalized memory. file: [2604a9c57f] check-in: [8f71ddbeeb] user: csmith branch: vfstree, size: 14553 | |
2020-07-06
| ||
00:31 | Slab updates to add alloc backtrace file: [5c05577f7a] check-in: [63811ac8b0] user: csmith branch: vfstree, size: 14500 | |
2020-06-20
| ||
17:15 | Stab at FAT getdents - Doesn't handle file types yet. file: [920151bdc4] check-in: [98e7a0a03e] user: csmith branch: trunk, size: 14253 | |
2020-03-22
| ||
06:02 | Partition the GC calls more logically. file: [15c887aef8] check-in: [461efcba9a] user: csmith branch: framebuffer, size: 14230 | |
2019-12-31
| ||
14:37 | Start next allocation search from current slab. Prevents long chains of fully allocated slabs being searched first. file: [f7db071b1b] check-in: [147448fc40] user: csmith branch: test-shell, size: 14105 | |
03:01 | Buffered read/write (not complete). GC roots now annotated with GCROOT. file: [22af4eadf7] check-in: [ede9502959] user: csmith branch: test-shell, size: 14081 | |
2019-12-22
| ||
01:10 | Weak refs. file: [af9493f0bc] check-in: [d637d3f7ae] user: csmith branch: test-shell, size: 14029 | |
2019-11-18
| ||
23:40 | Fixes in setting up the heap. file: [a522f39390] check-in: [b8c2ea18e6] user: csmith branch: test-shell, size: 13346 | |
2019-08-26
| ||
15:00 | Remove slab_free. file: [6823c4ffa2] check-in: [31784b7157] user: csmith branch: test-shell, size: 13284 | |
01:16 | More GC updates, as well as vmpage_t based vm interface. file: [cf84b1a9b0] check-in: [74e96bbbda] user: csmith branch: test-shell, size: 13592 | |
2019-08-17
| ||
19:43 | New GC. file: [45d237b965] check-in: [b35e4fc1d6] user: csmith branch: test-shell, size: 14968 | |
2019-08-13
| ||
23:55 | vmpage_t page management. Page lifecycle handled by vmpage_t references, which are now the unit of reference in the VM ( except for heap, which is still bare page based wrapped in a disposible vmpage_t. file: [0e2737b0d0] check-in: [73cc6a7ba3] user: csmith branch: test-shell, size: 13082 | |
2019-08-04
| ||
23:25 | Remove dead code. file: [43ba576a32] check-in: [627a22f78d] user: csmith branch: test-shell, size: 12126 | |
11:24 | Check for stack overflow file: [2b3a83760d] check-in: [ed67d7c9c8] user: csmith branch: test-shell, size: 12187 | |
2019-07-06
| ||
16:40 | To user mode and back, writes and exits and all! file: [b4284e90a7] check-in: [e5161880ac] user: csmith branch: test-shell, size: 12113 | |
2019-02-16
| ||
03:03 | Some GC stats. file: [60dec84a82] check-in: [466792ef8e] user: csmith branch: test-shell, size: 12088 | |
01:28 | GC fixes. Mark from beginning of blocks, if we're passed a root part way into a block. Mark both newly allocated and newly finalized memory with known values, to aid in debugging errors. Use slab_calloc where appropriate. file: [7f0d415e80] check-in: [32f5c983ec] user: csmith branch: test-shell, size: 11792 | |
2019-01-26
| ||
22:52 | Catch point added to aid in GC debugging. file: [6d8650526a] check-in: [b5a4bf223f] user: csmith branch: test-shell, size: 11114 | |
2018-11-23
| ||
00:22 | Fix warnings. file: [1d59eb8505] check-in: [8281126099] user: csmith branch: test-shell, size: 10991 | |
2018-11-17
| ||
01:41 | Protect against allocing while GC'ing. file: [3e31435ed2] check-in: [c955923cd4] user: csmith branch: test-shell, size: 10978 | |
01:11 | Debug allocation audit ring. file: [475f56f54b] check-in: [e1f53df351] user: csmith branch: test-shell, size: 10822 | |
2018-11-14
| ||
23:55 | Remove dead code. file: [d6040c947d] check-in: [432e88b839] user: csmith branch: test-shell, size: 8718 | |
2018-11-13
| ||
18:20 | Start of test shell REPL. Crashes, probably some data being GC'd unexpectedly. file: [82398b159e] check-in: [1e95dd4d26] user: csmith branch: test-shell, size: 9467 | |
2018-09-07
| ||
17:53 | Locking updates. file: [a19fd41071] check-in: [57789e0f76] user: csmith branch: vfs, size: 9077 | |
2017-08-30
| ||
19:13 | Merge from trunk. file: [73377edb0b] check-in: [658123627a] user: csmith branch: vm, size: 9034 | |
2017-08-17
| ||
18:34 | Start of array map. file: [48d0b440f6] check-in: [881bef09c4] user: csmith branch: map, size: 8984 | |
2017-08-16
| ||
19:25 | Fix warning. file: [7cb8f6f298] check-in: [1b33be15ee] user: csmith branch: map, size: 8795 | |
2017-07-08
| ||
13:05 | Fixed warning. file: [f96a603d09] check-in: [28030c6999] user: csmith branch: vm, size: 8845 | |
10:25 | Merge from threading. file: [daef09b09b] check-in: [290bc7711d] user: csmith branch: trunk, size: 8783 | |
10:22 | calloc, realloc and free implementations. file: [516f460e9d] check-in: [ea916577a5] user: csmith branch: threading, size: 8751 | |
2017-07-01
| ||
22:46 | Merge in backtracing. file: [d39934d8ba] check-in: [858ff323f7] user: csmith branch: trunk, size: 7947 | |
2017-06-28
| ||
23:42 | malloc implementation. file: [3a98c1c99c] check-in: [6bce0260d7] user: csmith branch: threading, size: 7915 | |
19:03 | Merge from vm , file: [2d71615349] check-in: [7e02b7f29b] user: csmith branch: trunk, size: 7214 | |
2017-06-22
| ||
00:46 | Allow freeing of heap pages. Finalizing threads will now free the stack page. file: [0ee220d394] check-in: [45ba11e089] user: csmith branch: vm, size: 7182 | |
2017-06-13
| ||
21:36 | Lock memory frees. file: [ac1e1c7315] check-in: [f079401ec6] user: csmith branch: gc, size: 7210 | |
2017-05-31
| ||
19:07 | Don't walk off the end of the passed in block when GC. The passed in block size is in chars, not pointer elements. file: [1cfe7650be] check-in: [ba787487ac] user: csmith branch: vm, size: 7192 | |
2017-04-19
| ||
16:04 | Simplified slab locking. Lock table is now splay tree. file: [89280a512e] check-in: [7cedcdb9f0] user: csmith branch: threading, size: 7178 | |
2017-03-08
| ||
20:32 | Weak refs wouldn't work! file: [e69706dde3] check-in: [a0b6b13c15] user: csmith branch: vm, size: 7058 | |
2017-02-14
| ||
22:46 | Implemented static slab type initialization. file: [be5eef4a42] check-in: [ecbf941efd] user: csmith branch: vm, size: 7803 | |
01:07 | Half way through refactoring slab type definition, to aid in initialization. file: [29ba083fbe] check-in: [e8c2eb3e71] user: csmith branch: vm, size: 7791 | |
2017-02-07
| ||
19:28 | Cleaner "once" initialization check. file: [56843bfb96] check-in: [89d06a505b] user: csmith branch: vm, size: 7117 | |
2017-01-22
| ||
02:42 | Still working on it. Ready to trigger PF to test segmentation. file: [d6f774d14f] check-in: [cbfe909d61] user: csmith branch: vm, size: 7197 | |
2017-01-20
| ||
13:40 | Merge in warning fixes and new map interface, not working at the moment. file: [a5b1fa305b] check-in: [0e7ff552f2] user: csmith branch: vm, size: 7158 | |
12:51 | Fix warning. file: [cea0cdcba1] check-in: [12b905cd96] user: csmith branch: trunk, size: 7045 | |
2017-01-19
| ||
00:04 | Merge in corrected slab_test code. Working vector. file: [bfdddf3d7f] check-in: [50c39bfd6d] user: csmith branch: vm, size: 7144 | |
2017-01-18
| ||
20:38 | Initial vector implementation - Has some problems. file: [3ce19869a0] check-in: [3a6fce01cc] user: csmith branch: vm, size: 6011 | |
2017-01-17
| ||
23:30 | Change %p output to include preceding 0x/ file: [a5309cea32] check-in: [7c8eb1bdfa] user: csmith branch: vm, size: 5894 | |
2017-01-13
| ||
03:04 | Added weak references. file: [6ac398260c] check-in: [64a8badb0f] user: csmith branch: gc, size: 7031 | |
02:35 | Simplify slab_test file: [996c118912] check-in: [916f42f613] user: csmith branch: gc, size: 6161 | |
02:30 | Slabs can handle arbitrary number of small objects. file: [3e960eb893] check-in: [f3049bfad5] user: csmith branch: gc, size: 6511 | |
2017-01-08
| ||
23:24 | Removed unused variable. file: [704f26dafd] check-in: [fab6c06b36] user: csmith branch: gc, size: 5898 | |
00:24 | Remove parameters from stack that could be intepreted as references in the next GC. file: [456e7efad8] check-in: [b7f211ef9c] user: csmith branch: gc, size: 5955 | |
2017-01-07
| ||
02:47 | More comprehensive GC from the thread queues and locks roots. file: [c3738d6545] check-in: [7f3aefea02] user: csmith branch: gc, size: 5489 | |
2017-01-05
| ||
02:35 | Misc. fixes. file: [dc5974e400] check-in: [3b73f70400] user: csmith branch: gc, size: 5311 | |
2017-01-04
| ||
23:19 | (Non-working) finalizers. file: [0ee74a4971] check-in: [6e0811cf40] user: csmith branch: gc, size: 5257 | |
20:47 | First stab at GC. file: [309c6cafa9] check-in: [5c1aa64cd5] user: csmith branch: gc, size: 4825 | |
2017-01-03
| ||
23:10 | Provide mark function when creating slab types. file: [e89267ddd9] check-in: [55470a9eb3] user: csmith branch: gc, size: 3395 | |
2016-12-30
| ||
15:04 | Start of GC. file: [5e5cd7ea8a] check-in: [bcf51f7547] user: csmith branch: gc, size: 3364 | |
2016-12-16
| ||
00:47 | Working thread fork. file: [e868db5384] check-in: [71500e9a00] user: csmith branch: threading, size: 2603 | |
2016-11-24
| ||
00:40 | Start of page handling. file: [b6417df698] check-in: [add3b5de84] user: csmith branch: trunk, size: 2603 | |
2016-11-20
| ||
12:28 | Slower, conservative bit scan, will optimize when appropriate. Add some more test code. file: [1635c61ec5] check-in: [18940a6c00] user: csmith branch: trunk, size: 2661 | |
2016-11-19
| ||
03:46 | Slab alloc fix. file: [418bc14ae9] check-in: [cca0a6ea97] user: csmith branch: trunk, size: 2345 | |
02:49 | More slab work. file: [03615bc8d9] check-in: [4611c19d88] user: csmith branch: trunk, size: 2235 | |
00:47 | Start of memory allocation. file: [919a4712b8] check-in: [384c2cae8d] user: csmith branch: trunk, size: 1233 | |
2016-11-06
| ||
14:57 | Missing #endif file: [796e539aad] check-in: [e148d21322] user: csmith branch: trunk, size: 187 | |
2016-11-03
| ||
20:16 | Added start of exceptions and slab allocator. file: [b2b1ddad43] check-in: [dbd36b278a] user: csmith branch: trunk, size: 179 Added | |