TWCOS Kernel

File History
Login

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