Commit Graph

74 Commits

Author SHA1 Message Date
Loïc Grégoire cefc69e1b5 all: more tidying 2026-10-08 18:01:42 -04:00
Loïc Grégoire 619c373d47 all: tidy 2026-10-07 18:03:06 -04:00
Loïc Grégoire b802919fc2 ke: add lock warden 2026-10-04 11:36:28 -04:00
Loïc Grégoire 10c6c3d27f all: upgrade to zig 0.17 2026-10-03 17:00:13 -04:00
Loïc Grégoire 7d83278bc6 mm/zone: formatting 2026-09-27 21:36:45 -04:00
marv7000 2c20f0b456 riscv64: initial risc-v port 2026-09-27 21:32:00 -04:00
Loïc Grégoire a9028e53ff ke/smr: allow invalid sequences in deferred_advance_commit
This was buggy when the race was lost and it ended up trying to commit a
deferred advance of 0, now explicitly make the magazine's sequence invalid and
do nothing in deferred_advance_commit, avoiding an integer underflow.
2026-09-19 23:03:39 -04:00
Loïc Grégoire 472cecea08 ex: move vmem to ex 2026-09-16 16:59:22 -04:00
Loïc Grégoire eeadc1420a mm/vmem: add importing and rework API 2026-09-13 22:13:18 -04:00
Loïc Grégoire 084d28b829 mm/vmem: add quantum caching 2026-09-13 15:47:36 -04:00
Loïc Grégoire 0c3e885797 mm/zone: rework around import layer
This ends up being cleaner for doing qcaches
2026-09-12 19:41:06 -04:00
Loïc Grégoire 1176e97e90 mm: more aggressive reclamation 2026-09-07 20:58:25 -04:00
Loïc Grégoire b5d3c5fdb9 mm/zone: free empty slabs on drain() 2026-09-07 20:58:14 -04:00
Loïc Grégoire 497e08bd7b all: standardize suffixes
ki -> kep
mi -> mmp
2026-09-02 22:20:25 -04:00
Loïc Grégoire 906433ca6d mm/zone: remove leftover log 2026-08-29 20:04:40 -04:00
Loïc Grégoire f205065d02 mm: initial balance manager code 2026-08-29 20:03:35 -04:00
Loïc Grégoire d06351f31c mm/zone: defer free slab destruction 2026-08-20 21:59:28 -04:00
Loïc Grégoire 63cd104616 ke: optimize TLB shootdowns 2026-08-09 16:44:41 -04:00
Loïc Grégoire bec872bc26 all: refactor coding style 2026-08-05 17:43:46 -04:00
Loïc Grégoire e36416304b all: type-safe time units 2026-08-02 00:02:44 -04:00
Loïc Grégoire 24372a2b4e ke/wait: add wait_reason 2026-08-02 00:02:00 -04:00
Loïc Grégoire 05c7694776 ke/wait: make timeout parameter explicit 2026-08-01 22:44:22 -04:00
Loïc Grégoire 5bba618575 mm/zone: more SMR features 2026-08-01 19:10:26 -04:00
Loïc Grégoire 0f0ddffb2c ex: add DelayedWorkItem
Separate WorkItem from DelayedWorkItem so that the former doesn't pay
the price of a timer and a Dpc if it won't ever get delayed.
2026-08-01 09:53:17 -04:00
Loïc Grégoire 9c48a5207c ke/smr: expose simpler APIs 2026-07-26 20:41:01 -04:00
Loïc Grégoire a969624f20 ke/smr: add support for preemptible SMR 2026-07-23 16:39:43 -04:00
Loïc Grégoire 8b92a302a2 mm/zone: remove slab coloring
This simplifies the code and fixes a race condition where the color
was read and updated without taking the zone lock in slab_create().
I don't think coloring is very useful these days anyway.
2026-07-20 20:46:00 -04:00
Loïc Grégoire ea33fcab30 mm/zone: add SMR zones 2026-07-19 16:51:22 -04:00
Loïc Grégoire c1043f224a ex: rename workqueue to work 2026-07-18 16:48:03 -04:00
Loïc Grégoire 782196275b mm+ke: make shootdowns use HandoffList 2026-07-18 16:45:32 -04:00
Loïc Grégoire 301946c774 all: use root boot info pointer 2026-07-18 14:41:30 -04:00
Loïc Grégoire 96d2bee857 loader: map pfndb and cleanup 2026-07-18 14:06:36 -04:00
Loïc Grégoire a79c7a07cb loader: initial loader code 2026-07-16 19:48:01 -04:00
Loïc Grégoire 898ceb171e mm/zone: oops fix compile error 2026-07-05 20:24:47 -04:00
Loïc Grégoire f416f3bf6c mm/zone: pad CPUs to their own cache lines 2026-07-05 00:32:44 -04:00
Loïc Grégoire 79b96ed3dc mm/zone: add hardening features 2026-07-04 23:43:57 -04:00
Loïc Grégoire 1647da3329 mm/zone: add tuning options 2026-07-04 18:17:38 -04:00
Loïc Grégoire e993ea711c mm/zone: add drain 2026-07-03 23:32:18 -04:00
Loïc Grégoire a5d42963ff mm/zone: add dynamic depot resizing 2026-07-03 23:08:15 -04:00
Loïc Grégoire 881022f14d mm/phys: calculate memory thresholds 2026-07-03 10:28:34 -04:00
Loïc Grégoire d1787253c4 mm/zone: add magazine trimming 2026-07-03 10:28:17 -04:00
Loïc Grégoire 4a03a10d0c everywhere: nuke UM 2026-07-02 20:01:12 -04:00
Loïc Grégoire efe5df1567 mm: pmap overhaul 2026-07-01 13:02:39 -04:00
Loïc Grégoire 85e6a8fec9 mm: make physical allocation blocking (WIP) 2026-06-29 22:33:43 -04:00
Loïc Grégoire c10f5a6984 mm: rework page frame allocator 2026-06-27 11:35:46 -04:00
Loïc Grégoire 25c770999f all: refactor imports 2026-06-27 10:55:19 -04:00
Loïc Grégoire 37293bef32 mm: add page struct size to log 2026-06-27 10:55:09 -04:00
Loïc Grégoire 4ba57ad42a ke+mm: add TLB shootdown and memory reclamation. 2026-06-25 21:33:14 -04:00
Loïc Grégoire 16d5c6e5c6 mm: add Space 2026-06-20 12:41:22 -04:00
Loïc Grégoire a3a9258158 mm/vmem: fix wrong rotor assignment 2026-05-14 09:09:48 -04:00