bjorn3
f8d93023dd
Fix a couple of warnings
2026-03-28 17:07:33 +01:00
Ron Williams
fde164b2a0
Revert "Deficit based Weighted Round Robin Scheduler"
...
This reverts commit b7dabfc3c2 .
2026-03-22 18:44:41 +00:00
Akshit Gaur
b7dabfc3c2
Deficit based Weighted Round Robin Scheduler
2026-03-22 07:00:31 -06:00
Wildan M
84754dfc5d
Solve borrow checking by downgrading waitqueue lock
2026-03-11 09:42:06 +07:00
Wildan M
60573e24f3
Solve borrow checking by downgrading condition.wait lock
2026-03-11 09:07:52 +07:00
Wildan M
7ebb5f2a3d
Solve borrow checking by downgrading locks
2026-03-11 08:00:48 +07:00
Wildan M
44f2214971
Partially solve borrow checking with WaitQueue
2026-03-11 07:27:21 +07:00
Wildan M
eeb03bdcb1
Revert "Add ordered lock for WaitQueue mutex"
...
This reverts commit 735c68ec30 .
2026-03-10 12:11:09 +07:00
auronandace
f7b0f5ec37
eliminate an unwrap in gdt for x86_shared
2026-03-02 10:56:28 +00:00
Wildan M
437f762339
Prevent drop on WaitCondition
2026-02-27 12:34:13 +07:00
Wildan M
735c68ec30
Add ordered lock for WaitQueue mutex
2026-02-25 09:48:13 +07:00
auronandace
8138826200
avoid direct indexing in wait_condition
2026-02-23 06:34:20 -07:00
Ibuki Omatsu
5ac00f5533
Remove namespace management from the kernel.
2026-01-20 20:43:34 -07:00
Anhad Singh
d9eae6bb75
fix(sync/wait_condition): deadlock in WaitCondition::wait
...
Instead of using a simple switch to determine if preemption is enabled
(`is_preemptable: bool`), a counter is used instead. This handles the
case where a function holding a `PreemptGuard` calls another function
that creates a new `PreemptGuard`.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-15 13:05:29 +11:00
Jeremy Soller
5dc6f7c3ba
lock ordering
2025-09-22 07:48:48 -06:00
Andrey Turkin
55041e2eeb
Use a custom config flag to conditionally compile DTB-specific areas
...
Would be great if we could use a feature instead, but Cargo can't do target-specific defaults features
2024-10-19 21:03:43 +03:00
4lDO2
c54195f10d
Ensure process signals can also interrupt.
2024-07-17 17:31:05 +02:00
4lDO2
e67c040f69
WIP: Separate process status from context status.
2024-07-15 18:08:43 +02:00
4lDO2
80fe891c6e
WIP: Replace ContextId with direct Arcs.
2024-07-15 18:08:42 +02:00
4lDO2
0da2fce64a
Separate context and process IDs.
2024-07-15 18:08:41 +02:00
4lDO2
d94baa2712
Run rustfmt.
2024-07-15 17:50:18 +02:00
4lDO2
4dba818c83
Check pending unblocked signals before blocking.
...
This is not a perfect solution, since the kernel technically already has
all the information it needs to synchronize this between the kill()
invocation and the time WaitCondition::wait is called, but it should not
have any noticeable performance impact.
2024-07-15 17:20:57 +02:00
4lDO2
239bd317e9
Fix signal ordering wrt syscall return.
2024-03-16 17:49:31 +01:00
bjorn3
782ec87f27
Fix UB in the locking code of context switching
...
The spin crate considers it UB to call force_write_unlock while there is
a threads trying to obtain a read lock on the same rwlock.
This also switches to the spinning_lot crate for the context rwlock as
it has support for a write guard keeping a reference to the rwlock using
an Arc instead of a reference.
2024-02-25 17:07:41 +01:00
Jeremy Soller
45f1c4e29e
Add rustfmt from relibc and apply it with cargo fmt
2024-01-17 13:52:01 -07:00
Jeremy Soller
8e0f54cb31
Clippy fixes
2022-11-11 13:19:14 -07:00
4lDO2
7ac5bdbae0
WIP: Implement userspace-driven shutdown.
2021-05-06 19:49:58 +02:00
Jeremy Soller
fdf46d8043
Fix multi_core livelocks and add livelock debugging
2020-04-19 08:46:50 -06:00
Jeremy Soller
5a42b6dd76
Add notify_signal method to WaitCondition to simulate being woken by a signal
2019-07-18 19:48:54 -06:00
jD91mZM2
fe705d9b63
Switch to 2018 edition
...
Most of this was generated by the absolutely extraordinary `cargo fix`
subcommand. There were still 2 errors and a few warnings to patch up,
but compared to the normal 600+ errors, I'd say the fixer did a damn
good job! I'm also amazed that I could still start the VM after this,
I half expected some kinds of runtime failure...
2019-06-21 12:12:01 +02:00
Jeremy Soller
5b31bf57be
Update to latest rust
2018-11-08 17:25:57 -07:00
Jeremy Soller
58e1d92eb5
Add clippy lints, action some clippy items
2017-12-24 22:19:00 -07:00
Jeremy Soller
ed05564011
Remove SwitchResult, use out of band data to detect interruption
...
Update debugging code
2017-11-14 21:16:35 -07:00
Tibor Nagy
e6b9f850d1
Migrate from collections
2017-10-28 02:42:08 +02:00
Jeremy Soller
51339cb8c9
Cleanup warnings
...
Implement interrupt on signal in pipe:
2017-10-21 20:30:20 -06:00
Jeremy Soller
906ef94ffd
Fix bug with sleep - wake is not cleared after it occurs
...
Do not initialize waitcondition with capacity
2017-03-21 20:30:46 -06:00
Jeremy Soller
0c8ba636f4
Cleanup Redox repo, update Rust, remove old target
2017-01-03 15:55:00 -07:00